From 4062f504eba4835579bcc360e9eff3e7d92f5a6c Mon Sep 17 00:00:00 2001 From: James Greenhalgh Date: Thu, 26 Oct 2017 11:30:40 +0100 Subject: [PATCH] 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. --- ld/ChangeLog | 6 ++++++ ld/testsuite/ld-arm/cortex-a8-far.d | 20 ++++++++++---------- ld/testsuite/ld-arm/farcall-group-size2.d | 16 ++++++++-------- ld/testsuite/ld-arm/farcall-group.d | 22 +++++++++++----------- 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 + + * 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 * 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 : - 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 : 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 @@ -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 80102e: f7ff bfe4 b.w 800ffa 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 : 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: -- 2.7.4