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