aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/sys_openbsd_386.s
diff options
context:
space:
mode:
authorMichael Hudson-Doyle <michael.hudson@canonical.com>2015-03-04 16:28:45 +1300
committerIan Lance Taylor <iant@golang.org>2015-03-05 01:23:29 +0000
commit658a338f78ef5dce4c81527c34fb52be95357ef7 (patch)
tree76c9bd732f7933488f6ed0a775b0ecb252469f6a /src/runtime/sys_openbsd_386.s
parent5e49bfec92e04ca9eda715c8d61690ba5b47b9bf (diff)
downloadgo-658a338f78ef5dce4c81527c34fb52be95357ef7.tar.gz
go-658a338f78ef5dce4c81527c34fb52be95357ef7.zip
cmd/internal/ld, runtime: halve tlsoffset on ELF/intel
For OSes that use elf on intel, 2*Ptrsize bytes are reserved for TLS. But only one pointer (g) has been stored in the TLS for a while now. So we can set it to just Ptrsize, which happily matches what happens when externally linking. Fixes #9913 Change-Id: Ic816369d3a55a8cdcc23be349b1a1791d53f5f81 Reviewed-on: https://go-review.googlesource.com/6584 Run-TryBot: Minux Ma <minux@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/runtime/sys_openbsd_386.s')
-rw-r--r--src/runtime/sys_openbsd_386.s4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/sys_openbsd_386.s b/src/runtime/sys_openbsd_386.s
index 86774de003..10877096d4 100644
--- a/src/runtime/sys_openbsd_386.s
+++ b/src/runtime/sys_openbsd_386.s
@@ -325,9 +325,9 @@ TEXT runtime·setldt(SB),NOSPLIT,$4
RET
TEXT runtime·settls(SB),NOSPLIT,$8
- // adjust for ELF: wants to use -8(GS) and -4(GS) for g and m
+ // adjust for ELF: wants to use -4(GS) for g
MOVL tlsbase+0(FP), CX
- ADDL $8, CX
+ ADDL $4, CX
MOVL $0, 0(SP) // syscall gap
MOVL CX, 4(SP) // arg 1 - tcb
MOVL $329, AX // sys___set_tcb