newsThe GNU HURD on Alpha - News: Initial submit.

 
 
Latest News
Project moving to GNU HURD/Alpha posted by miklic, Sat 01 Jun 2002 03:40:40 AM UTC - 0 replies
Initial submit. posted by miklic, Sun 19 May 2002 04:03:06 PM UTC - 0 replies
[Submit News]
[2 news in archive]

Initial submit.

Item posted by Andrew M. Miklic <miklic> on Sun 19 May 2002 04:03:06 PM UTC.

The initial submit of the Alpha-specific portions of GNU/Mach has been completed.

The port of the tool-chain for HURD/Alpha is mostly complete (the port of glibc is in progress). From Roland McGrath, the status of the porting issues is as follows:

  • binutils -- not submitted, but trivial
    • The only change in binutils is to recognize the alpha--gnu* name.

There was no actual porting work required since the alpha-linux
target is actually the same.

    • I still haven't got around to submitting the changes, but I will

try to make that happen soon; I will also post the patches to
bug-hurd.

  • gcc -- in 3.2; patches available for 3.1, may be in 3.1.1
    • The changes are very simple, and are already committed to gcc-3.2.
    • I posted patches for gcc-3.1 to bug-hurd, and these will be

submitted for gcc-3.1.1 (but we will have to see what happens with
that).

  • libc -- underway, new ports in 2.3 only; no support in 2.2
    • libc is where the bulk of the work (aside from the kernel) is for

any Hurd port.

    • glibc-2.2.x is what is actually being used now, but that

branch is mostly frozen and not getting any new code like new
ports.

    • I am the maintainer for the libc hurd ports, there is noone but me

to submit changes to. When I am happy with them, I commit them
directly.

    • I have done a bunch of hacking to get the alpha-gnu port to mostly

compile; this is all in the libc cvs mainline (will be glibc-2.3
some day). There is surely some debugging needed in the
alpha-specific code for mach and hurd stuff, though alpha-linux
support is already there and so generic alpha cpu stuff (setjmp,
libm, etc) should all be fine.

    • There is enough there now that you can do "make -k; make -k

install" (be sure to write a configparms file with
install_root=/usr/local/alpha-gnu) and get enough headers and
libraries installed in your cross environment so as to be able to
compile (but not link) the hurd programs.

    • There is one hairy bit still to be written before you can actually

try to run the hurd servers, which is the startup stuff that does
stack switching. It's not so big, but tweaky and will require
hands-on debugging to get it just right, so I haven't tried to
tackle it myself. The file is sysdeps/mach/hurd/alpha/init-first.c
(doesn't exist yet); take sysdeps/mach/hurd/alpha/init-first.c as a
model and I can help explain what the code needs to do. Once that
is done, you should be able to try to boot the hurd.

    • The CPU-specific code for hurd signals in libc is somewhat hairy.

Code exists for alpha, but it surely needs to be debugged and
possibly rewritten since it has never been tried. You can probably
get as far as booting the system and running commands with this
being pretty broken. But then you will have to debug the signal
handling code before many complex Unix programs will work.

  • hurd -- done except for cthreads
    • I've fixed a bunch of 64-bit nits in the Hurd code so that it

compiles cleanly without type size warnings. All these changes are
committed.

    • The only thing in the Hurd proper that really needs porting is a

tiny bit of code to format thread registers in core dump files. I
wrote that. (And if you don't write it, you just get core files
with no registers.)

    • However, libthreads (CMU Mach cthreads) is in the Hurd package. I

fixed some 64-bit nits in compiling it too, but no substantial
changes. libthreads requires CPU-specific thread switching code.
However, what we are using is lightly-modified CMU code. The
original CMU Mach port to Alpha must have included porting
cthreads, with Alpha specific code and also any more subtle 64-bit
issues there might be in there. We shouldn't hack on this
ourselves, but just find the CMU Alpha version and I can merge it
with our version. This is another reason why we need to track down
all the original CMU sources for Mach/Alpha.

Comments:

No messages in Initial submit.

 

Back to the top


Powered by Savane 3.1-cleanup