diff options
author | Elias Naur <elias.naur@gmail.com> | 2014-02-03 14:49:57 -0800 |
---|---|---|
committer | Elias Naur <elias.naur@gmail.com> | 2014-02-03 14:49:57 -0800 |
commit | fe3301ba65ac4434ea9556f2ddd39198e9534105 (patch) | |
tree | f1ed9c9f14fb630bee9b5655fdb3f74d40b3e13f /src/cmd/5l | |
parent | 70a195094ee9d393ef3da734f47370625e2a48df (diff) | |
download | go-fe3301ba65ac4434ea9556f2ddd39198e9534105.tar.gz |
liblink, cmd/5l: restore flag_shared
CL 56120043 fixed and cleaned up TLS on ARM after introducing liblink, but
left flag_shared broken. This CL restores the (unsupported) flag_shared
behaviour by simply rewriting access to $runtime.tlsgm(SB) with
runtime.tlsgm(SB), to compensate for the extra indirection when going from
the R_ARM_TLS_LE32 relocation to the R_ARM_TLS_IE32 relocation.
Also, remove unnecessary symbol lookup left after 56120043.
LGTM=iant
R=iant, rsc
CC=golang-codereviews
https://codereview.appspot.com/57000043
Committer: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/cmd/5l')
-rw-r--r-- | src/cmd/5l/5.out.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cmd/5l/5.out.h b/src/cmd/5l/5.out.h index 99836cb7f..16348a457 100644 --- a/src/cmd/5l/5.out.h +++ b/src/cmd/5l/5.out.h @@ -279,7 +279,7 @@ enum D_PLT1 = (D_NONE+44), // R_ARM_PLT32, 2nd inst: add ip, ip, #0xNN000 D_PLT2 = (D_NONE+45), // R_ARM_PLT32, 3rd inst: ldr pc, [ip, #0xNNN]! D_CALL = (D_NONE+46), // R_ARM_PLT32/R_ARM_CALL/R_ARM_JUMP24, bl xxxxx or b yyyyy - D_TLS = (D_NONE+47), // R_ARM_TLS_LE32 + D_TLS = (D_NONE+47), // R_ARM_TLS_LE32/R_ARM_TLS_IE32 }; /* |