]> Cypherpunks repositories - gostls13.git/commit
8l, runtime: initial support for Plan 9
authorYuval Pavel Zholkover <paulzhol@gmail.com>
Mon, 18 Oct 2010 16:32:55 +0000 (12:32 -0400)
committerRuss Cox <rsc@golang.org>
Mon, 18 Oct 2010 16:32:55 +0000 (12:32 -0400)
commit99a10eff16b79cfb8ccf36e586532a40b17a203c
tree30ce7d1c68d3725a0e948a3b3267c6c611f37ee3
parent6ac08ba6387129d9cf9aef924b252270c407d4c1
8l, runtime: initial support for Plan 9

No multiple processes/locks, managed to compile
and run a hello.go (with print not fmt).  Also test/sieve.go
seems to run until 439 and stops with a
'throw: all goroutines are asleep - deadlock!'
- just like runtime/tiny.

based on Russ's suggestions at:
http://groups.google.com/group/comp.os.plan9/browse_thread/thread/cfda8b82535d2d68/243777a597ec1612

Build instructions:
cd src/pkg/runtime
make clean && GOOS=plan9 make install
this will build and install the runtime.

When linking with 8l, you should pass -s to suppress symbol
generation in the a.out, otherwise the generated executable will not run.

This is runtime only, the porting of the toolchain has already
been done: http://code.google.com/p/go-plan9/source/browse
in the plan9-quanstro branch.

R=rsc
CC=golang-dev
https://golang.org/cl/2273041
16 files changed:
src/Make.inc
src/cmd/8l/asm.c
src/cmd/8l/obj.c
src/cmd/8l/pass.c
src/pkg/runtime/386/asm.s
src/pkg/runtime/mkasmh.sh
src/pkg/runtime/plan9/386/defs.h [new file with mode: 0644]
src/pkg/runtime/plan9/386/rt0.s [new file with mode: 0644]
src/pkg/runtime/plan9/386/signal.c [new file with mode: 0644]
src/pkg/runtime/plan9/386/sys.s [new file with mode: 0644]
src/pkg/runtime/plan9/mem.c [new file with mode: 0644]
src/pkg/runtime/plan9/os.h [new file with mode: 0644]
src/pkg/runtime/plan9/signals.h [new file with mode: 0644]
src/pkg/runtime/plan9/thread.c [new file with mode: 0644]
src/pkg/runtime/runtime.c
src/pkg/runtime/runtime.h