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 /ld | |
parent | 7cc27f03b90c3fad20b4fc535f448c4ee42932d0 (diff) | |
download | fsf-binutils-gdb-a8bc6c780e54b1dad7c356c815965f87df0314c7.zip fsf-binutils-gdb-a8bc6c780e54b1dad7c356c815965f87df0314c7.tar.gz fsf-binutils-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 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/arm-elf.exp | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/thumb-rel32.d | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/thumb-rel32.s | 18 |
4 files changed, 34 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 76fdb74..dc5cfec 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2006-05-02 Paul Brook <paul@codesourcery.com> + + * ld-arm/arm-elf.exp: Add thumb-rel32. + * ld-arm/thumb-rel32.d: New test. + * ld-arm/thumb-rel32.s: New test. + 2006-04-29 H.J. Lu <hongjiu.lu@intel.com> * ld-elfvers/vers.exp: Xfail vers7a, vers7, vers23a, vers23b, diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index 1cb231f..1a9fc00 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -119,6 +119,9 @@ set armelftests { {"Thumb entry point" "-T arm.ld" "" {thumb-entry.s} {{readelf -h thumb-entry.d}} "thumb-entry"} + {"thumb-rel32" "-static -T arm.ld" "" {thumb-rel32.s} + {{objdump -s thumb-rel32.d}} + "thumb-rel32"} } run_ld_link_tests $armelftests diff --git a/ld/testsuite/ld-arm/thumb-rel32.d b/ld/testsuite/ld-arm/thumb-rel32.d new file mode 100644 index 0000000..34cde4d --- /dev/null +++ b/ld/testsuite/ld-arm/thumb-rel32.d @@ -0,0 +1,7 @@ + +.*: file format.* + +Contents of section .text: + 8000 (00000011 fffffffd 00ffffff f8000000|11000000 fdffffff 00f8ffff ff000000) .* +# Ignore .ARM.attributes section +#... diff --git a/ld/testsuite/ld-arm/thumb-rel32.s b/ld/testsuite/ld-arm/thumb-rel32.s new file mode 100644 index 0000000..83eb0e5 --- /dev/null +++ b/ld/testsuite/ld-arm/thumb-rel32.s @@ -0,0 +1,18 @@ + .text + .arch armv4t + .global _start + .type _start, %function + .thumb_func +_start: + .word bar - . + .word _start - . + .byte 0 + .4byte (_start - .) + 1 + .byte 0, 0, 0 + .section .after, "ax", %progbits + .global bar + .type bar, %function + .thumb_func +bar: + .word 0 + .ident "GCC: (GNU) 4.1.0 (CodeSourcery ARM)" |