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();
/*
* 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();
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();
/*
* 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();
) || 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
*
* 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.
*
* 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.
*/
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'
*)
# 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)'
};
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;
* 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
// 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