aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorDaniel Gutson <dgutson@codesourcery.com>2009-08-21 23:38:07 +0000
committerDaniel Gutson <dgutson@codesourcery.com>2009-08-21 23:38:07 +0000
commitcd1dac3d4a9145d560bf6f726a227119a087be23 (patch)
tree547659bc2cb709dfe7d02210dfbbf995009462be /ld
parent62af60e2daf96e527c442d06661cbbde253c777b (diff)
downloadfsf-binutils-gdb-cd1dac3d4a9145d560bf6f726a227119a087be23.zip
fsf-binutils-gdb-cd1dac3d4a9145d560bf6f726a227119a087be23.tar.gz
fsf-binutils-gdb-cd1dac3d4a9145d560bf6f726a227119a087be23.tar.bz2
2S09-08-21 Daniel Gutson <dgutson@codesourcery.com>
ld/ * ld-arm/callweak.d: Opcodes updated. * ld-arm/callweak.s: Architecture specified. * ld-arm/callweak-2.d: New test case. * ld-arm/callweak-2.s: New file. bfd/ * elf32-arm.c (arch_has_thumb2_nop): New function. (arch_has_arm_nop): New function. (elf32_arm_final_link_relocate): NOP opcodes changed. SVS: ----------------------------------------------------------------------
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog7
-rw-r--r--ld/testsuite/ld-arm/callweak-2.d15
-rw-r--r--ld/testsuite/ld-arm/callweak-2.s17
-rw-r--r--ld/testsuite/ld-arm/callweak.d4
-rw-r--r--ld/testsuite/ld-arm/callweak.s1
5 files changed, 42 insertions, 2 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 6f9bc27..040ce8f 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2009-08-21 Daniel Gutson <dgutson@codesourcery.com>
+
+ * ld-arm/callweak.d: Opcodes updated.
+ * ld-arm/callweak.s: Architecture specified.
+ * ld-arm/callweak-2.d: New test case.
+ * ld-arm/callweak-2.s: New file.
+
2009-08-17 Nick Clifton <nickc@redhat.com>
* ld-elf/linkonce1.d: Accept "UNUSED" as part of the name of an
diff --git a/ld/testsuite/ld-arm/callweak-2.d b/ld/testsuite/ld-arm/callweak-2.d
new file mode 100644
index 0000000..d401479
--- /dev/null
+++ b/ld/testsuite/ld-arm/callweak-2.d
@@ -0,0 +1,15 @@
+
+.*: file format.*
+
+Disassembly of section .far:
+
+12340000 <[^>]*>:
+12340000: e320f000 nop \{0\}
+12340004: 0320f000 nopeq \{0\}
+
+12340008 <[^>]*>:
+12340008: f3af 8000 nop.w
+1234000c: 2000 movs r0, #0
+1234000e: f3af 8000 nop.w
+12340012: 4770 bx lr
+
diff --git a/ld/testsuite/ld-arm/callweak-2.s b/ld/testsuite/ld-arm/callweak-2.s
new file mode 100644
index 0000000..af4f026
--- /dev/null
+++ b/ld/testsuite/ld-arm/callweak-2.s
@@ -0,0 +1,17 @@
+ .syntax unified
+ .arch armv6t2
+ .weak bar
+ .section .far, "ax", %progbits
+ .global _start
+ .type _start, %function
+_start:
+ bl bar
+ bleq bar
+ .thumb
+ .type foo, %function
+ .thumb_func
+foo:
+ bl bar
+ movs r0, #0
+ bl bar
+ bx lr
diff --git a/ld/testsuite/ld-arm/callweak.d b/ld/testsuite/ld-arm/callweak.d
index 3dffcc4..89cb4a5 100644
--- a/ld/testsuite/ld-arm/callweak.d
+++ b/ld/testsuite/ld-arm/callweak.d
@@ -4,8 +4,8 @@
Disassembly of section .far:
12340000 <[^>]*>:
-12340000: eaffffff b 12340004 <[^>]*>
-12340004: 0affffff beq 12340008 <[^>]*>
+12340000: e1a00000 nop ; \(mov r0, r0\)
+12340004: 01a00000 moveq r0, r0
12340008 <[^>]*>:
12340008: e000 b.n 1234000c <[^>]*>
diff --git a/ld/testsuite/ld-arm/callweak.s b/ld/testsuite/ld-arm/callweak.s
index 6850da3..b9bcd1b 100644
--- a/ld/testsuite/ld-arm/callweak.s
+++ b/ld/testsuite/ld-arm/callweak.s
@@ -1,4 +1,5 @@
.syntax unified
+ .arch armv6
.weak bar
.section .far, "ax", %progbits
.global _start