2010-02-24 Doug Kwan <dougkwan@google.com>
authorDoug Kwan <dougkwan@google.com>
Wed, 24 Feb 2010 20:45:12 +0000 (20:45 +0000)
committerDoug Kwan <dougkwan@google.com>
Wed, 24 Feb 2010 20:45:12 +0000 (20:45 +0000)
commit4a54abbbe95796323e02bd15f9310b5b3d176d9d
tree727c38c94ccd6b9da563d7d43306edcb369dfaa2
parent0723dbf578cc2f8ab942f4bbd36e1377adcd0620
2010-02-24  Doug Kwan  <dougkwan@google.com>

* arm.cc (Arm_output_data_got): New class.
(ARM_TCB_SIZE): New constant
(Target_arm): Use Arm_output_data_got instead of Output_data_got.
(Arm_output_section::fix_exidx_coverage): Add a parameter for layout.
If user uses a script with a SECTIONS clause, issue only a warning
for a misplaced EXIDX input section.  Otherwise, issue an error.
  (Arm_relobj::do_gc_process_relocs): Exit early if we are not doing
garbage collection.
(Target_arm::got_mode_index_entry): Handle static linking.
(Target_arm::Scan::local): Ditto.
(Target_arm::Scan::global): Ditto.
(Target_arm::Relocate::relocate_tls): Handle static linking.  Fix
all incorrectly implemented relocations.
(Target_arm::fix_exidx_coverage): Pass layout to
Arm_output_section::fix_exidx_coverage.
* layout.cc (Layout::section_name_mapping): Remove trailing dots
from ".ARM.exidx." and ".ARM.extab.".
gold/ChangeLog
gold/arm.cc
gold/layout.cc