2011-11-09 Doug Kwan <dougkwan@google.com>
authorDoug Kwan <dougkwan@google.com>
Thu, 10 Nov 2011 00:41:53 +0000 (00:41 +0000)
committerDoug Kwan <dougkwan@google.com>
Thu, 10 Nov 2011 00:41:53 +0000 (00:41 +0000)
commit2c339f710d5c9dfa791386e1982c20cb09a334ad
tree5d0edca5ee677c244ecbdac42c64f540ea305d90
parenteac29d46b776d0ac11961376f49c207f34eb5ebd
2011-11-09  Doug Kwan  <dougkwan@google.com>

PR gold/13362
* arm.cc (Arm_scan_relocatable_relocs::Default_scan_relocatable_relocs):
Use unaligned 4-byte relocs for static 32-bit data as required by EABI.
* reloc.h (Relocatable_relocs::Reloc_strategy): New enum
RELOC_ADJUST_FOR_SECTION_4_UNALIGNED.
(Relocate_functions::rel_unaligned): New.
(Relocate_functions::rel32_unaligned): New.
* target-reloc.h (relocate_for_relocatable): Add code to handle
RELOC_ADJUST_FOR_SECTION_4_UNALIGNED.
* testsuite/Makefile.am (arm_unaligned_reloc_r.stdout,
arm_unaligned_reloc_r): New targets.
* testsuite/Makefile.in: Regenerate.
* arm_unaligned_reloc.sh: Check unaligned relocs in relocatable
linking.
gold/ChangeLog
gold/arm.cc
gold/reloc.h
gold/target-reloc.h
gold/testsuite/Makefile.am
gold/testsuite/Makefile.in
gold/testsuite/arm_unaligned_reloc.sh