]> Cypherpunks repositories - gostls13.git/commit
amd64: use segment memory for thread-local storage
authorRuss Cox <rsc@golang.org>
Thu, 5 Aug 2010 00:50:22 +0000 (17:50 -0700)
committerRuss Cox <rsc@golang.org>
Thu, 5 Aug 2010 00:50:22 +0000 (17:50 -0700)
commite473f42b2d3ac9b877436638dc182342dcd2e86c
tree4a8b31048310c4334ac1c16f4321c6d9e667dfcb
parent3dc6c9e64d8de9931ed621aaa15884512014afd2
amd64: use segment memory for thread-local storage
Returns R14 and R15 to the available register pool.
Plays more nicely with ELF ABI C code.
In particular, our signal handlers will no longer crash
when a signal arrives during execution of a cgo C call.

Fixes #720.

R=ken2, r
CC=golang-dev
https://golang.org/cl/1847051
24 files changed:
src/cmd/6a/a.y
src/cmd/6c/cgen.c
src/cmd/6c/peep.c
src/cmd/6c/sgen.c
src/cmd/6c/txt.c
src/cmd/6l/asm.c
src/cmd/6l/l.h
src/cmd/6l/obj.c
src/cmd/6l/pass.c
src/cmd/6l/span.c
src/cmd/8c/txt.c
src/cmd/8l/obj.c
src/cmd/cc/com.c
src/libcgo/Makefile
src/libcgo/amd64.S
src/libcgo/darwin_amd64.c
src/libcgo/freebsd_amd64.c
src/libcgo/libcgo.h
src/libcgo/linux_amd64.c
src/pkg/runtime/amd64/asm.s
src/pkg/runtime/darwin/amd64/sys.s
src/pkg/runtime/freebsd/amd64/sys.s
src/pkg/runtime/linux/amd64/sys.s
src/pkg/runtime/mkasmh.sh