diff options
author | Doug Kwan <dougkwan@google.com> | 2010-02-19 22:53:54 +0000 |
---|---|---|
committer | Doug Kwan <dougkwan@google.com> | 2010-02-19 22:53:54 +0000 |
commit | f96accdf2b9e5d52a09921b370fefadf46673152 (patch) | |
tree | 90d46810464a254798bdd78f0dee31d816edf879 /gold/arm-reloc.def | |
parent | 48ea67a7550e2163a10272846816a02d06023308 (diff) | |
download | fsf-binutils-gdb-f96accdf2b9e5d52a09921b370fefadf46673152.zip fsf-binutils-gdb-f96accdf2b9e5d52a09921b370fefadf46673152.tar.gz fsf-binutils-gdb-f96accdf2b9e5d52a09921b370fefadf46673152.tar.bz2 |
2010-02-18 Doug Kwan <dougkwan@google.com>
* arm-reloc.def: Mark R_ARM_TLS_GD32, R_ARM_TLS_LDM32,
R_ARM_TLS_LDO32, R_ARM_TLS_IE32 and R_ARM_TLS_LE32 are implemented.
* arm.cc (Arm_relocation_functions): New forward declaration.
(Target_arm::Target_arm): Initialize new data members
got_mod_index_offset_ and tls_base_symbol_defined_.
(Target_arm::Relocate::relocate_tls): New method.
(Target_arm::optimize_tls_reloc, Target_arm::define_tls_base_symbol,
Target_arm::got_mod_index_entry, Target_arm::rel_tls_desc_section):
New methods.
(Target_arm::Got_type): Add GOT_TYPE_TLS_NOFFSET, GOT_TYPE_OFFSET,
GOT_TYPE_TLS_PAIR and GOT_TYPE_TLS_DESC.
(Target_arm::got_mod_index_offset_,
Target_arm::tls_base_symbol_defined_): New data members.
(Target_arm::Scan::local, Target::Scan::global,
Target_arm::Relocate::relocate): Handle 32-bit initial TLS
relocations.
Diffstat (limited to 'gold/arm-reloc.def')
-rw-r--r-- | gold/arm-reloc.def | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gold/arm-reloc.def b/gold/arm-reloc.def index 39ec3d6..2caf371 100644 --- a/gold/arm-reloc.def +++ b/gold/arm-reloc.def @@ -165,11 +165,11 @@ RD(GNU_VTENTRY , STATIC , Y, DATA , NONE , Y, -1, N) RD(GNU_VTINHERIT , STATIC , Y, DATA , NONE , Y, -1, N) RD(THM_JUMP11 , STATIC , N, THM16, S + A - P , Y, -1, Y) RD(THM_JUMP8 , STATIC , N, THM16, S + A - P , Y, -1, Y) -RD(TLS_GD32 , STATIC , N, DATA , GOT(S) + A - P , N, -1, N) -RD(TLS_LDM32 , STATIC , N, DATA , GOT(S) + A - P , N, -1, N) -RD(TLS_LDO32 , STATIC , N, DATA , S + A - TLS , N, -1, N) -RD(TLS_IE32 , STATIC , N, DATA , GOT(S) + A - P , N, -1, N) -RD(TLS_LE32 , STATIC , N, DATA , S + A - tp , N, -1, N) +RD(TLS_GD32 , STATIC , N, DATA , GOT(S) + A - P , Y, -1, N) +RD(TLS_LDM32 , STATIC , N, DATA , GOT(S) + A - P , Y, -1, N) +RD(TLS_LDO32 , STATIC , N, DATA , S + A - TLS , Y, -1, N) +RD(TLS_IE32 , STATIC , N, DATA , GOT(S) + A - P , Y, -1, N) +RD(TLS_LE32 , STATIC , N, DATA , S + A - tp , Y, -1, N) RD(TLS_LDO12 , STATIC , N, ARM , S + A - TLS , N, -1, Y) RD(TLS_LE12 , STATIC , N, ARM , S + A - tp , N, -1, Y) RD(TLS_IE12GP , STATIC , N, ARM , GOT(S) + A - GOT_ORG , N, -1, Y) |