Maybe this is a premature announcement, but for those who want to know
I have successfully compiled a small "Hello, world" C program for Plan
9/386 using the released GO toolchain with a number of adjustments.

The procedure I followed was along these lines:

 1.     Compile the release toolchain under Plan 9
 2.     Use the compiled toolchain to compile the Plan 9 libraries (libc and 
libbio only)
 3.     Use the toolchain and the libraries to produce a Plan 9 executable
 4.     Run the executable

The details are much more complex, but it is extremely rewarding to
have a program run to completion after the efforts.  There are
considerable problems I have not yet addressed, I'm curious as to
whether anybody would be interested in helping me solve some of these.

This is a bit of a fork in the road: I can continue developing the
toolchain under alternative available architectures, I can focus on
using Plan 9 as a cross-platform to produce code for the natural GO
targets (386, x64 and arm) or I can start tackling the GO aspects of
the toolchain.  Oh, the bit I'm also keen on is to enhance the Plan 9
libmach with the extensions from the GO toolchain.  I have already
"improved" ar(1) and nm(1) as required to deal with the libraries.

I believe that Bell Labs are actively involved in the port of GO to
Plan 9, I'm not sure how much my efforts are likely to contribute to
that particular project.

At the moment, a cut-down version of the toolchain is held in a CVS
repository.  It suffices to prove viability, but it needs work for
proper distribution.  I'm tempted to publish a modified toolchain on
sources, but perhaps there is a better way to release my work.  Feel
free to suggest your particular preference.

Thanks to the GO team for a wonderful, intriguing product.

++L


Reply via email to