This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[Patch Arm] Fix expected assembler after recent changes
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: <binutils at sourceware dot org>
- Cc: <nd at arm dot com>, <nickc at redhat dot com>, <rearnsha at arm dot com>, <ramana dot radhakrishnan at arm dot com>, <amodra at gmail dot com>
- Date: Wed, 25 Oct 2017 16:17:55 +0100
- Subject: [Patch Arm] Fix expected assembler after recent changes
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=pass (sender IP is 217.140.96.140) smtp.mailfrom=arm.com; redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=bestguesspass action=none header.from=arm.com;
- Nodisclaimer: True
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
Hi,
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.
OK? If so, please apply on my behalf, as I don't have commit access over
here.
Thanks,
James
---
2017-10-25 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.
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: