]> Cypherpunks repositories - gostls13.git/commit
[dev.cc] runtime: convert Solaris port to Go
authorAram Hăvărneanu <aram@mgk.ro>
Thu, 13 Nov 2014 15:07:10 +0000 (16:07 +0100)
committerAram Hăvărneanu <aram@mgk.ro>
Thu, 13 Nov 2014 15:07:10 +0000 (16:07 +0100)
commite088e16256a00447c6d5cded22ceb62bcdcc4698
tree663844ae9b34a1833042ebf12371396cab0ed181
parenta0862a175dc1d4df280f4ae08a847d1e74680955
[dev.cc] runtime: convert Solaris port to Go

Memory management was consolitated with the BSD ports, since
it was almost identical.

Assembly thunks are gone, being replaced by the new //go:linkname
feature.

This change supersedes CL 138390043 (runtime: convert solaris
netpoll to Go), which was previously reviewed and tested.

This change is only the first step, the port now builds,
but doesn't run. Binaries fail to exec:

    ld.so.1: 6.out: fatal: 6.out: TLS requirement failure : TLS support is unavailable
    Killed

This seems to happen because binaries don't link with libc.so
anymore. We will have to solve that in a different CL.

Also this change is just a rough translation of the original
C code, cleanup will come in a different CL.

[This CL is part of the removal of C code from package runtime.
See golang.org/s/dev.cc for an overview.]

LGTM=rsc
R=rsc, dave
CC=golang-codereviews, iant, khr, minux, r, rlh
https://golang.org/cl/174960043
22 files changed:
src/liblink/asm6.c
src/runtime/defs1_solaris_amd64.go
src/runtime/mem_bsd.go
src/runtime/mem_solaris.c [deleted file]
src/runtime/netpoll.go
src/runtime/netpoll_solaris.go [moved from src/runtime/netpoll_solaris.c with 55% similarity]
src/runtime/os2_solaris.go [new file with mode: 0644]
src/runtime/os3_solaris.go [new file with mode: 0644]
src/runtime/os_solaris.c [deleted file]
src/runtime/os_solaris.go
src/runtime/os_solaris.h [deleted file]
src/runtime/signal_solaris.go [new file with mode: 0644]
src/runtime/signal_solaris_amd64.go [new file with mode: 0644]
src/runtime/signal_solaris_amd64.h [deleted file]
src/runtime/signals_solaris.h [deleted file]
src/runtime/stubs.go
src/runtime/stubs2.go [new file with mode: 0644]
src/runtime/sys_solaris_amd64.s
src/runtime/syscall2_solaris.go [new file with mode: 0644]
src/runtime/syscall_solaris.c [deleted file]
src/runtime/syscall_solaris.go
src/runtime/thunk_solaris_amd64.s [deleted file]