aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2006-05-02 13:09:18 +0000
committerPaul Brook <paul@codesourcery.com>2006-05-02 13:09:18 +0000
commita8bc6c780e54b1dad7c356c815965f87df0314c7 (patch)
tree76bd0fd7da2825c7b9a1f69be8ac0e03935cb634 /ld
parent7cc27f03b90c3fad20b4fc535f448c4ee42932d0 (diff)
downloadfsf-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/ChangeLog6
-rw-r--r--ld/testsuite/ld-arm/arm-elf.exp3
-rw-r--r--ld/testsuite/ld-arm/thumb-rel32.d7
-rw-r--r--ld/testsuite/ld-arm/thumb-rel32.s18
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)"