aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorJames Greenhalgh <james.greenhalgh@arm.com>2017-10-26 11:30:40 +0100
committerNick Clifton <nickc@redhat.com>2017-10-26 11:30:40 +0100
commit4062f504eba4835579bcc360e9eff3e7d92f5a6c (patch)
tree16890cccb992de750ef8df12a4b00361155cfa5c /ld
parent6abc18bbbf03dc4aee0b0f2cd851d9bc9a983e20 (diff)
downloadfsf-binutils-gdb-4062f504eba4835579bcc360e9eff3e7d92f5a6c.zip
fsf-binutils-gdb-4062f504eba4835579bcc360e9eff3e7d92f5a6c.tar.gz
fsf-binutils-gdb-4062f504eba4835579bcc360e9eff3e7d92f5a6c.tar.bz2
As Alan predicted at https://sourceware.org/ml/binutils/2017-10/msg00137.html the values in some Arm tests need updating after recent changes. These looked a bit spooky at first, but they are just a difference in the order we emit veneers and far jumps, so are not so scary after all.
Checked with an arm-none-eabi tester and an arm-none-linux-gnueabi tester with no issues. * testsuite/ld-arm/cortex-a8-far.d: Update expected disassembly. * testsuite/ld-arm/farcall-group-size2: Likewise. * testsuite/ld-arm/farcall-group.d: Likewise.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/testsuite/ld-arm/cortex-a8-far.d20
-rw-r--r--ld/testsuite/ld-arm/farcall-group-size2.d16
-rw-r--r--ld/testsuite/ld-arm/farcall-group.d22
4 files changed, 35 insertions, 29 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 3cf9312..31600f0 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2017-10-26 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * testsuite/ld-arm/cortex-a8-far.d: Update expected disassembly.
+ * testsuite/ld-arm/farcall-group-size2: Likewise.
+ * testsuite/ld-arm/farcall-group.d: Likewise.
+
2017-10-25 H.J. Lu <hongjiu.lu@intel.com>
* ld.texinfo: Correct -z ibt.
diff --git a/ld/testsuite/ld-arm/cortex-a8-far.d b/ld/testsuite/ld-arm/cortex-a8-far.d
index 06bb646..9b10659 100644
--- a/ld/testsuite/ld-arm/cortex-a8-far.d
+++ b/ld/testsuite/ld-arm/cortex-a8-far.d
@@ -14,14 +14,14 @@ Disassembly of section \.text:
80000c: 7fff0000 .word 0x7fff0000
00800010 <three>:
- 800010: f001 e802 blx 801018 <__far_fn1_from_thumb>
- 800014: f001 e804 blx 801020 <__far_fn2_from_thumb>
+ 800010: f001 e806 blx 801020 <__far_fn1_from_thumb>
+ 800014: f001 e800 blx 801018 <__far_fn2_from_thumb>
...
800ff8: bf00 nop
00800ffa <label1>:
800ffa: ea81 0002 eor.w r0, r1, r2
- 800ffe: f000 b813 b.w 801028 <__far_fn2_from_thumb\+0x8>
+ 800ffe: f000 b813 b.w 801028 <__far_fn1_from_thumb\+0x8>
801002: ea81 0002 eor.w r0, r1, r2
801006: ea81 0002 eor.w r0, r1, r2
80100a: f7ff bff6 b.w 800ffa <label1>
@@ -29,13 +29,13 @@ Disassembly of section \.text:
801012: ea81 0002 eor.w r0, r1, r2
...
-00801018 <__far_fn1_from_thumb>:
- 801018: e51ff004 ldr pc, \[pc, #-4\] ; 80101c <__far_fn1_from_thumb\+0x4>
- 80101c: 80000000 .word 0x80000000
+00801018 <__far_fn2_from_thumb>:
+ 801018: e51ff004 ldr pc, \[pc, #-4\] ; 80101c <__far_fn2_from_thumb\+0x4>
+ 80101c: 80000004 .word 0x80000004
-00801020 <__far_fn2_from_thumb>:
- 801020: e51ff004 ldr pc, \[pc, #-4\] ; 801024 <__far_fn2_from_thumb\+0x4>
- 801024: 80000004 .word 0x80000004
- 801028: d001 beq.n 80102e <__far_fn2_from_thumb\+0xe>
+00801020 <__far_fn1_from_thumb>:
+ 801020: e51ff004 ldr pc, \[pc, #-4\] ; 801024 <__far_fn1_from_thumb\+0x4>
+ 801024: 80000000 .word 0x80000000
+ 801028: d001 beq.n 80102e <__far_fn1_from_thumb\+0xe>
80102a: f7ff bfea b.w 801002 <label1\+0x8>
80102e: f7ff bfe4 b.w 800ffa <label1>
diff --git a/ld/testsuite/ld-arm/farcall-group-size2.d b/ld/testsuite/ld-arm/farcall-group-size2.d
index d70bcac..2628334 100644
--- a/ld/testsuite/ld-arm/farcall-group-size2.d
+++ b/ld/testsuite/ld-arm/farcall-group-size2.d
@@ -19,19 +19,19 @@ Disassembly of section .text:
00001020 <myfunc>:
1020: eb000008 bl 1048 <__bar3_veneer>
- 1024: eb000004 bl 103c <__bar4_from_arm>
- 1028: eb000000 bl 1030 <__bar5_from_arm>
+ 1024: eb000001 bl 1030 <__bar4_from_arm>
+ 1028: eb000003 bl 103c <__bar5_from_arm>
102c: 00000000 andeq r0, r0, r0
-00001030 <__bar5_from_arm>:
- 1030: e59fc000 ldr ip, \[pc\] ; 1038 <__bar5_from_arm\+0x8>
+00001030 <__bar4_from_arm>:
+ 1030: e59fc000 ldr ip, \[pc\] ; 1038 <__bar4_from_arm\+0x8>
1034: e12fff1c bx ip
- 1038: 0200302f .word 0x0200302f
+ 1038: 0200302d .word 0x0200302d
-0000103c <__bar4_from_arm>:
- 103c: e59fc000 ldr ip, \[pc\] ; 1044 <__bar4_from_arm\+0x8>
+0000103c <__bar5_from_arm>:
+ 103c: e59fc000 ldr ip, \[pc\] ; 1044 <__bar5_from_arm\+0x8>
1040: e12fff1c bx ip
- 1044: 0200302d .word 0x0200302d
+ 1044: 0200302f .word 0x0200302f
00001048 <__bar3_veneer>:
1048: e51ff004 ldr pc, \[pc, #-4\] ; 104c <__bar3_veneer\+0x4>
diff --git a/ld/testsuite/ld-arm/farcall-group.d b/ld/testsuite/ld-arm/farcall-group.d
index da811e7..2d76e1b 100644
--- a/ld/testsuite/ld-arm/farcall-group.d
+++ b/ld/testsuite/ld-arm/farcall-group.d
@@ -13,28 +13,28 @@ Disassembly of section .text:
+[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar5_from_arm>
+[0-9a-f]+: 00000000 andeq r0, r0, r0
-[0-9a-f]+ <__bar5_from_arm>:
- +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar5_from_arm\+0x8>
- +[0-9a-f]+: e12fff1c bx ip
- +[0-9a-f]+: 0200302f .word 0x0200302f
-
[0-9a-f]+ <__bar4_from_arm>:
+[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar4_from_arm\+0x8>
+[0-9a-f]+: e12fff1c bx ip
+[0-9a-f]+: 0200302d .word 0x0200302d
-[0-9a-f]+ <__bar3_veneer>:
- +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar3_veneer\+0x4>
- +[0-9a-f]+: 02003028 .word 0x02003028
+[0-9a-f]+ <__bar2_veneer>:
+ +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar2_veneer\+0x4>
+ +[0-9a-f]+: 02003024 .word 0x02003024
[0-9a-f]+ <__bar_from_arm>:
+[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar_from_arm\+0x8>
+[0-9a-f]+: e12fff1c bx ip
+[0-9a-f]+: 02003021 .word 0x02003021
-[0-9a-f]+ <__bar2_veneer>:
- +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar2_veneer\+0x4>
- +[0-9a-f]+: 02003024 .word 0x02003024
+[0-9a-f]+ <__bar5_from_arm>:
+ +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar5_from_arm\+0x8>
+ +[0-9a-f]+: e12fff1c bx ip
+ +[0-9a-f]+: 0200302f .word 0x0200302f
+
+[0-9a-f]+ <__bar3_veneer>:
+ +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar3_veneer\+0x4>
+ +[0-9a-f]+: 02003028 .word 0x02003028
...
Disassembly of section .foo: