diff options
author | Paul Brook <paul@codesourcery.com> | 2006-05-02 13:09:18 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2006-05-02 13:09:18 +0000 |
commit | a8bc6c780e54b1dad7c356c815965f87df0314c7 (patch) | |
tree | 76bd0fd7da2825c7b9a1f69be8ac0e03935cb634 /bfd/elf32-arm.c | |
parent | 7cc27f03b90c3fad20b4fc535f448c4ee42932d0 (diff) | |
download | gdb-a8bc6c780e54b1dad7c356c815965f87df0314c7.zip gdb-a8bc6c780e54b1dad7c356c815965f87df0314c7.tar.gz gdb-a8bc6c780e54b1dad7c356c815965f87df0314c7.tar.bz2 |
2006-05-02 Paul Brook <paul@codesourcery.com>
bfd/
* elf32-arm.c (elf32_arm_final_link_relocate): Set thumb funciton bit
for R_ARM_REL32.
gas/
* config/tc-arm.c (arm_optimize_expr): New function.
* config/tc-arm.h (md_optimize_expr): Define
(arm_optimize_expr): Add prototype.
(TC_FORCE_RELOCATION_SUB_SAME): Define.
ld/testsuite/
* ld-arm/arm-elf.exp: Add thumb-rel32.
* ld-arm/thumb-rel32.d: New test.
* ld-arm/thumb-rel32.s: New test.
Diffstat (limited to 'bfd/elf32-arm.c')
-rw-r--r-- | bfd/elf32-arm.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index bd3c4e3..eb7723b 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -3274,9 +3274,11 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto, break; case R_ARM_REL32: + value += addend; + if (sym_flags == STT_ARM_TFUNC) + value |= 1; value -= (input_section->output_section->vma + input_section->output_offset + rel->r_offset); - value += addend; break; case R_ARM_PREL31: |