OSDN Git Service

2011-11-09 Doug Kwan <dougkwan@google.com>
authordougkwan <dougkwan>
Thu, 10 Nov 2011 00:41:52 +0000 (00:41 +0000)
committerdougkwan <dougkwan>
Thu, 10 Nov 2011 00:41:52 +0000 (00:41 +0000)
commit2044faf5425d4c88277e01460181714f795c7a8a
treed196a271e54c3ae3f1bef6710bd7af9f71e71fa7
parent4e7be1d792ef4effa107115a9fddb0d574912340
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