2010-02-18 Doug Kwan <dougkwan@google.com>
authorDoug Kwan <dougkwan@google.com>
Fri, 19 Feb 2010 22:53:54 +0000 (22:53 +0000)
committerDoug Kwan <dougkwan@google.com>
Fri, 19 Feb 2010 22:53:54 +0000 (22:53 +0000)
commitf96accdf2b9e5d52a09921b370fefadf46673152
tree90d46810464a254798bdd78f0dee31d816edf879
parent48ea67a7550e2163a10272846816a02d06023308
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.
gold/ChangeLog
gold/arm-reloc.def
gold/arm.cc