Commit fec7aa95 authored by Shenghou Ma's avatar Shenghou Ma Committed by Russ Cox

doc: update out-of-date comments about runtime/cgo

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5532100
parent 7b07310a
......@@ -190,7 +190,7 @@ main(int argc, char *argv[])
case Hdarwin: /* apple MACH */
/*
* OS X system constant - offset from 0(GS) to our TLS.
* Explained in ../../libcgo/darwin_amd64.c.
* Explained in ../../pkg/runtime/cgo/gcc_darwin_amd64.c.
*/
tlsoffset = 0x8a0;
machoinit();
......@@ -209,8 +209,8 @@ main(int argc, char *argv[])
/*
* ELF uses TLS offset negative from FS.
* Translate 0(FS) and 8(FS) into -16(FS) and -8(FS).
* Also known to ../../pkg/runtime/linux/amd64/sys.s
* and ../../libcgo/linux_amd64.s.
* Also known to ../../pkg/runtime/sys_linux_amd64.s
* and ../../pkg/runtime/cgo/gcc_linux_amd64.c.
*/
tlsoffset = -16;
elfinit();
......
......@@ -218,7 +218,7 @@ main(int argc, char *argv[])
case Hdarwin: /* apple MACH */
/*
* OS X system constant - offset from %gs to our TLS.
* Explained in ../../libcgo/darwin_386.c.
* Explained in ../../pkg/runtime/cgo/gcc_darwin_386.c.
*/
tlsoffset = 0x468;
machoinit();
......@@ -237,8 +237,8 @@ main(int argc, char *argv[])
/*
* ELF uses TLS offsets negative from %gs.
* Translate 0(GS) and 4(GS) into -8(GS) and -4(GS).
* Also known to ../../pkg/runtime/linux/386/sys.s
* and ../../libcgo/linux_386.c.
* Also known to ../../pkg/runtime/sys_linux_386.s
* and ../../pkg/runtime/cgo/gcc_linux_386.c.
*/
tlsoffset = -8;
elfinit();
......
......@@ -75,7 +75,7 @@ $USE_GO_TOOL ||
) || exit 1
bash "$GOROOT"/src/clean.bash
# pkg builds libcgo and the Go programs in cmd.
# pkg builds runtime/cgo and the Go programs in cmd.
for i in lib9 libbio libmach cmd
do
echo; echo; echo %%%% making $i %%%%; echo
......
......@@ -39,8 +39,8 @@ inittls(void)
*
* The linker and runtime hard-code these constant offsets
* from %gs where we expect to find m and g.
* Known to ../cmd/8l/obj.c:/468
* and to ../pkg/runtime/darwin/386/sys.s:/468
* Known to ../../../cmd/8l/obj.c:/468
* and to ../sys_darwin_386.s:/468
*
* This is truly disgusting and a bit fragile, but taking care
* of it here protects the rest of the system from damage.
......
......@@ -27,8 +27,8 @@ inittls(void)
*
* The linker and runtime hard-code these constant offsets
* from %gs where we expect to find m and g.
* Known to ../cmd/6l/obj.c:/8a0
* and to ../pkg/runtime/darwin/amd64/sys.s:/8a0
* Known to ../../../cmd/6l/obj.c:/8a0
* and to ../sys_darwin_amd64.s:/8a0
*
* As disgusting as on the 386; same justification.
*/
......
......@@ -34,8 +34,8 @@ case "$GOARCH" in
386)
# The offsets 0 and 4 are also known to:
# ../../cmd/8l/pass.c:/D_GS
# ../../libcgo/linux_386.c:/^threadentry
# ../../libcgo/darwin_386.c:/^threadentry
# cgo/gcc_linux_386.c:/^threadentry
# cgo/gcc_darwin_386.c:/^threadentry
case "$GOOS" in
windows)
echo '#define get_tls(r) MOVL 0x14(FS), r'
......@@ -89,8 +89,8 @@ amd64)
*)
# The offsets 0 and 8 are known to:
# ../../cmd/6l/pass.c:/D_GS
# ../../libcgo/linux_amd64.c:/^threadentry
# ../../libcgo/darwin_amd64.c:/^threadentry
# cgo/gcc_linux_amd64.c:/^threadentry
# cgo/gcc_darwin_amd64.c:/^threadentry
#
echo '#define get_tls(r)'
echo '#define g(r) 0(GS)'
......
......@@ -168,8 +168,8 @@ struct Gobuf
};
struct G
{
byte* stackguard; // cannot move - also known to linker, libmach, libcgo
byte* stackbase; // cannot move - also known to libmach, libcgo
byte* stackguard; // cannot move - also known to linker, libmach, runtime/cgo
byte* stackbase; // cannot move - also known to libmach, runtime/cgo
Defer* defer;
Panic* panic;
Gobuf sched;
......
......@@ -338,7 +338,7 @@ TEXT runtime·setldt(SB),7,$32
* To accommodate that rewrite, we translate the
* address and limit here so that 0x468(GS) maps to 0(address).
*
* See ../../../../libcgo/darwin_386.c for the derivation
* See cgo/gcc_darwin_386.c:/468 for the derivation
* of the constant.
*/
SUBL $0x468, BX
......
......@@ -327,8 +327,8 @@ TEXT runtime·mach_semaphore_signal_all(SB),7,$0
// set tls base to DI
TEXT runtime·settls(SB),7,$32
/*
* Same as in ../386/sys.s:/ugliness, different constant.
* See ../../../../libcgo/darwin_amd64.c for the derivation
* Same as in sys_darwin_386.s:/ugliness, different constant.
* See cgo/gcc_darwin_amd64.c for the derivation
* of the constant.
*/
SUBQ $0x8a0, DI
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment