This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH][Binutils][Arm] Fix performance issue with thumb-2 tailcalls
- From: Tamar Christina <Tamar dot Christina at arm dot com>
- To: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Cc: nd <nd at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, "nickc at redhat dot com" <nickc at redhat dot com>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>
- Date: Mon, 19 Aug 2019 16:16:31 +0000
- Subject: [PATCH][Binutils][Arm] Fix performance issue with thumb-2 tailcalls
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ilcjLxCrRyxdJ414VqWu85tc3ijFHBZUsOJdS4RHugE=; b=SchodwNCcd3x1JPxQPJL9E/imt6X/J2NI1cHE5IxttLHP+pMlS+bria6UxmU+1WZjUI6GS2Vbz13TJwsqGoWtLn/YxaW+Ow6AAnIdXaZRcNRQhL9r9LmFGJ5romVftwF7PN4vu4hzEjcArB3O88TjepIxZxgCP/NRd4uUsTPRcatHkU7rc0B8I3xzZMltLBRYa89UmUzsuLYRbNcX16HPTOkyWm+iHARqUow4ySKICaAAFE9Xd6DezQMhaIG+f6lNlyNfOLpdAAKdiBZNK6ZbOGHZySLuQaG4KtuFI79ZDbMwZDi9HgECFxC1MM6Pr5qYuznIGhdDNA4zETug5F27A==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G9niCaC+YXSdxtk1XOBgP3y9aPgZUhlXQBbqe1BMtTPJ6+UkHV3/6mW9f5bQnUMzCG/gfz2sIz57V8rRaH5H1w2MQnaCzBUcGMSEE/l6u0IM0D3mcSIjwTCzHbpPUzBlWVFGpOXI84g9EfEjmqXKr7NQpfqY4IrCT4DsGytV3SSn67pzBIHIgltzBI/W4g2RbHiWBXO5k2oFNAO/t7sC8/FeUpRxWyRUGFlRU8+xW+MzzkTb5uhTtICrS20OEfFafx+sZn0cPb4bWRYKDR/HLp2PWRcbmWN1BjEoY1H3qz8COLRG6lv5X27Ni9WeMbSwStCXOfm7S3PAMOQ/UzZJAg==
- Original-authentication-results: spf=none (sender IP is ) smtp.mailfrom=Tamar dot Christina at arm dot com;
Hi All,
We currently use a padding NOP after a Thumb to Arm interworking veneer (BX pc).
The NOP is never executed but may result in a performance penalty on some cores.
For this reason this patch changes the NOPs after Thumb to Arm veneers into B .-2
and adds a note to this in the source code for future reference.
build on native hardware and regtested on
arm-none-elf, arm-none-elf (32 bit host),
arm-none-linux-gnueabihf, arm-none-linux-gnueabihf (32 bit host)
Cross-compiled and regtested on
arm-none-linux-gnueabihf, armeb-none-elf, arm-wince-pe
and no issues.
Ok for master? and for backport to binutils-2.32?
Thanks,
Tamar
bfd/ChangeLog:
2019-08-19 Tamar Christina <tamar.christina@arm.com>
* elf32-arm.c (elf32_thumb2_plt_entry, elf32_arm_plt_thumb_stub,
elf32_arm_stub_long_branch_v4t_thumb_thumb,
elf32_arm_stub_long_branch_v4t_thumb_arm,
elf32_arm_stub_short_branch_v4t_thumb_arm,
elf32_arm_stub_long_branch_v4t_thumb_arm_pic,
elf32_arm_stub_long_branch_v4t_thumb_thumb_pic,
elf32_arm_stub_long_branch_v4t_thumb_tls_pic): Change nop to branch to
previous instruction.
ld/ChangeLog:
2019-08-19 Tamar Christina <tamar.christina@arm.com>
* testsuite/ld-arm/cortex-a8-fix-b-plt.d: Update Testcase.
* testsuite/ld-arm/cortex-a8-fix-b-rel-arm.d: Likewise.
* testsuite/ld-arm/cortex-a8-fix-bcc-plt.d: Likewise.
* testsuite/ld-arm/farcall-cond-thumb-arm.d: Likewise.
* testsuite/ld-arm/farcall-mixed-app.d: Likewise.
* testsuite/ld-arm/farcall-mixed-app2.d: Likewise.
* testsuite/ld-arm/farcall-mixed-lib-v4t.d: Likewise.
* testsuite/ld-arm/farcall-thumb-arm-pic-veneer.d: Likewise.
* testsuite/ld-arm/farcall-thumb-arm-short.d: Likewise.
* testsuite/ld-arm/farcall-thumb-arm.d: Likewise.
* testsuite/ld-arm/farcall-thumb-thumb-pic-veneer.d: Likewise.
* testsuite/ld-arm/farcall-thumb-thumb.d: Likewise.
* testsuite/ld-arm/fix-arm1176-on.d: Likewise.
* testsuite/ld-arm/ifunc-10.dd: Likewise.
* testsuite/ld-arm/ifunc-2.dd: Likewise.
* testsuite/ld-arm/ifunc-4.dd: Likewise.
* testsuite/ld-arm/ifunc-6.dd: Likewise.
* testsuite/ld-arm/ifunc-8.dd: Likewise.
* testsuite/ld-arm/jump-reloc-veneers-long.d: Likewise.
* testsuite/ld-arm/mixed-app.d: Likewise.
* testsuite/ld-arm/thumb2-b-interwork.d: Likewise.
* testsuite/ld-arm/tls-longplt.d: Likewise.
* testsuite/ld-arm/tls-thumb1.d: Likewise.
--
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 15591bee8ad9b47e73ab71abb8ec84e0303c16bf..ae749f7ae7a0ce0fe6e3f9337ec93648bb5c8fa2 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -2329,6 +2329,11 @@ static const unsigned long dl_tlsdesc_lazy_trampoline [] =
0x00000018, /* 4: .word _GLOBAL_OFFSET_TABLE_ - 2b - 8 */
};
+/* NOTE: [Thumb nop sequence]
+ When adding code that transitions from Thumb to Arm the instruction that
+ should be used for the alignment padding should be 0xe7fd (b .-2) instead of
+ a nop for performance reasons. */
+
/* ARM FDPIC PLT entry. */
/* The last 5 words contain PLT lazy fragment code and data. */
static const bfd_vma elf32_arm_fdpic_plt_entry [] =
@@ -2446,8 +2451,8 @@ static const bfd_vma elf32_thumb2_plt_entry [] =
0x0c00f240, /* movw ip, #0xNNNN */
0x0c00f2c0, /* movt ip, #0xNNNN */
0xf8dc44fc, /* add ip, pc */
- 0xbf00f000 /* ldr.w pc, [ip] */
- /* nop */
+ 0xe7fdf000 /* ldr.w pc, [ip] */
+ /* b .-2 */
};
/* The format of the first entry in the procedure linkage table
@@ -2487,7 +2492,7 @@ static const bfd_vma elf32_arm_vxworks_shared_plt_entry[] =
static const bfd_vma elf32_arm_plt_thumb_stub [] =
{
0x4778, /* bx pc */
- 0x46c0 /* nop */
+ 0xe7fd /* b .-2 */
};
/* The entries in a PLT when using a DLL-based target with multiple
@@ -2574,6 +2579,8 @@ typedef struct
int reloc_addend;
} insn_sequence;
+/* See note [Thumb nop sequence] when adding a veneer. */
+
/* Arm/Thumb -> Arm/Thumb long branch stub. On V5T and above, use blx
to reach the stub if necessary. */
static const insn_sequence elf32_arm_stub_long_branch_any_any[] =
@@ -2624,7 +2631,7 @@ static const insn_sequence elf32_arm_stub_long_branch_thumb2_only_pure[] =
static const insn_sequence elf32_arm_stub_long_branch_v4t_thumb_thumb[] =
{
THUMB16_INSN (0x4778), /* bx pc */
- THUMB16_INSN (0x46c0), /* nop */
+ THUMB16_INSN (0xe7fd), /* b .-2 */
ARM_INSN (0xe59fc000), /* ldr ip, [pc, #0] */
ARM_INSN (0xe12fff1c), /* bx ip */
DATA_WORD (0, R_ARM_ABS32, 0), /* dcd R_ARM_ABS32(X) */
@@ -2635,7 +2642,7 @@ static const insn_sequence elf32_arm_stub_long_branch_v4t_thumb_thumb[] =
static const insn_sequence elf32_arm_stub_long_branch_v4t_thumb_arm[] =
{
THUMB16_INSN (0x4778), /* bx pc */
- THUMB16_INSN (0x46c0), /* nop */
+ THUMB16_INSN (0xe7fd), /* b .-2 */
ARM_INSN (0xe51ff004), /* ldr pc, [pc, #-4] */
DATA_WORD (0, R_ARM_ABS32, 0), /* dcd R_ARM_ABS32(X) */
};
@@ -2645,7 +2652,7 @@ static const insn_sequence elf32_arm_stub_long_branch_v4t_thumb_arm[] =
static const insn_sequence elf32_arm_stub_short_branch_v4t_thumb_arm[] =
{
THUMB16_INSN (0x4778), /* bx pc */
- THUMB16_INSN (0x46c0), /* nop */
+ THUMB16_INSN (0xe7fd), /* b .-2 */
ARM_REL_INSN (0xea000000, -8), /* b (X-8) */
};
@@ -2683,7 +2690,7 @@ static const insn_sequence elf32_arm_stub_long_branch_v4t_arm_thumb_pic[] =
static const insn_sequence elf32_arm_stub_long_branch_v4t_thumb_arm_pic[] =
{
THUMB16_INSN (0x4778), /* bx pc */
- THUMB16_INSN (0x46c0), /* nop */
+ THUMB16_INSN (0xe7fd), /* b .-2 */
ARM_INSN (0xe59fc000), /* ldr ip, [pc, #0] */
ARM_INSN (0xe08cf00f), /* add pc, ip, pc */
DATA_WORD (0, R_ARM_REL32, -4), /* dcd R_ARM_REL32(X) */
@@ -2707,7 +2714,7 @@ static const insn_sequence elf32_arm_stub_long_branch_thumb_only_pic[] =
static const insn_sequence elf32_arm_stub_long_branch_v4t_thumb_thumb_pic[] =
{
THUMB16_INSN (0x4778), /* bx pc */
- THUMB16_INSN (0x46c0), /* nop */
+ THUMB16_INSN (0xe7fd), /* b .-2 */
ARM_INSN (0xe59fc004), /* ldr ip, [pc, #4] */
ARM_INSN (0xe08fc00c), /* add ip, pc, ip */
ARM_INSN (0xe12fff1c), /* bx ip */
@@ -2728,7 +2735,7 @@ static const insn_sequence elf32_arm_stub_long_branch_any_tls_pic[] =
static const insn_sequence elf32_arm_stub_long_branch_v4t_thumb_tls_pic[] =
{
THUMB16_INSN (0x4778), /* bx pc */
- THUMB16_INSN (0x46c0), /* nop */
+ THUMB16_INSN (0xe7fd), /* b .-2 */
ARM_INSN (0xe59f1000), /* ldr r1, [pc, #0] */
ARM_INSN (0xe081f00f), /* add pc, r1, pc */
DATA_WORD (0, R_ARM_REL32, -4), /* dcd R_ARM_REL32(X) */
diff --git a/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d b/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d
index bbf68398d6cf5131590bd1e0278059ed4732b62e..54f56e4ccbcf9089497fb2c3a04ba84c8da48796 100644
--- a/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d
+++ b/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d
@@ -12,7 +12,7 @@ Disassembly of section \.plt:
8010: 00000ffc \.word 0x00000ffc
00008014 <bar@plt>:
8014: 4778 bx pc
- 8016: 46c0 nop ; \(mov r8, r8\)
+ 8016: e7fd b.n .+ <.+>
8018: e28fc600 add ip, pc, #0, 12
801c: e28cca00 add ip, ip, #0, 20
8020: e5bcfff8 ldr pc, \[ip, #4088\]! ; 0xff8
diff --git a/ld/testsuite/ld-arm/cortex-a8-fix-b-rel-arm.d b/ld/testsuite/ld-arm/cortex-a8-fix-b-rel-arm.d
index 3e52a495563337c84a938aebc0bbf146f5b35bb2..afa1e4897a30a7e890c8e6630286b163a14e2dc6 100644
--- a/ld/testsuite/ld-arm/cortex-a8-fix-b-rel-arm.d
+++ b/ld/testsuite/ld-arm/cortex-a8-fix-b-rel-arm.d
@@ -79,5 +79,5 @@ Disassembly of section \.text:
00009010 <__targetfn_from_thumb>:
9010: 4778 bx pc
- 9012: 46c0 nop ; \(mov r8, r8\)
+ 9012: e7fd b.n .+ <.+>
9014: eaffffb9 b 8f00 <targetfn>
diff --git a/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d b/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d
index 079c928ea0479442712d4d0438ed734708f5ac4c..425c10207f635cef85f06c791c5e232b2fd1e442 100644
--- a/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d
+++ b/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d
@@ -12,7 +12,7 @@ Disassembly of section \.plt:
8010: 00001004 \.word 0x00001004
00008014 <bar@plt>:
8014: 4778 bx pc
- 8016: 46c0 nop ; \(mov r8, r8\)
+ 8016: e7fd b.n .+ <.+>
8018: e28fc600 add ip, pc, #0, 12
801c: e28cca01 add ip, ip, #4096 ; 0x1000
8020: e5bcf000 ldr pc, \[ip, #0\]!
diff --git a/ld/testsuite/ld-arm/farcall-cond-thumb-arm.d b/ld/testsuite/ld-arm/farcall-cond-thumb-arm.d
index 0b0172b75ef02ad05d0ba50e7a96e8d242d60e06..c0d96523f452782f191db01802eb615d8c9e5453 100644
--- a/ld/testsuite/ld-arm/farcall-cond-thumb-arm.d
+++ b/ld/testsuite/ld-arm/farcall-cond-thumb-arm.d
@@ -9,7 +9,7 @@ Disassembly of section .text:
00058008 <__bar_from_thumb>:
58008: 4778 bx pc
- 5800a: 46c0 nop ; \(mov r8, r8\)
+ 5800a: e7fd b.n .+ <.+>
5800c: ea02fffb b 118000 <bar>
Disassembly of section .foo:
diff --git a/ld/testsuite/ld-arm/farcall-mixed-app.d b/ld/testsuite/ld-arm/farcall-mixed-app.d
index f3be54f13427c033033d550f6502991d09c39fd8..0160f46d3a4858cb7d43a0fb98beed0458d97eaf 100644
--- a/ld/testsuite/ld-arm/farcall-mixed-app.d
+++ b/ld/testsuite/ld-arm/farcall-mixed-app.d
@@ -14,7 +14,7 @@ Disassembly of section .plt:
.*: .*
.* <lib_func2@plt>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
@@ -82,7 +82,7 @@ Disassembly of section .far_thumb:
.* <__lib_func2_from_thumb>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e51ff004 ldr pc, \[pc, #-4\] ; 2200018 <__lib_func2_from_thumb\+0x8>
.*: 000081e0 .word 0x000081e0
.*: 00000000 .word 0x00000000
diff --git a/ld/testsuite/ld-arm/farcall-mixed-app2.d b/ld/testsuite/ld-arm/farcall-mixed-app2.d
index 535710d0bdd3542fd4b19ef7afb0374d9575fcae..0c701485152a8f9b19155b54384a90f13c0e5c80 100644
--- a/ld/testsuite/ld-arm/farcall-mixed-app2.d
+++ b/ld/testsuite/ld-arm/farcall-mixed-app2.d
@@ -14,7 +14,7 @@ Disassembly of section .plt:
.*: .*
.* <lib_func2@plt>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
@@ -56,7 +56,7 @@ Disassembly of section .mid_thumb:
.* <__lib_func2_from_thumb>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e51ff004 ldr pc, \[pc, #-4\] ; 10081e8 <__lib_func2_from_thumb\+0x8>
.*: 000081e0 .word 0x000081e0
.*: 00000000 .word 0x00000000
diff --git a/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d b/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d
index 3d12e0ae644f5910811ccbedc64b0be9ee91634e..1b15879b253ded7351277387024886dd38c62eef 100644
--- a/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d
+++ b/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d
@@ -13,25 +13,25 @@ Disassembly of section .plt:
.*: .* .word .*
.* <app_func@plt>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]! ; .*
.* <app_func_weak@plt>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]! ; 0x.*
.* <lib_func3@plt>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]! ; 0x.*
.* <lib_func4@plt>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]! ; 0x.*
@@ -59,28 +59,28 @@ Disassembly of section .text:
.* <__app_func_from_thumb>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e59fc000 ldr ip, \[pc\] ; .* <__app_func_from_thumb\+0xc>
.*: e08cf00f add pc, ip, pc
.*: feffff.. .word 0xfeffff..
.* <__lib_func4_from_thumb>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e59fc000 ldr ip, \[pc\] ; .* <__lib_func4_from_thumb\+0xc>
.*: e08cf00f add pc, ip, pc
.*: feffff.. .word 0xfeffff..
.* <__app_func_weak_from_thumb>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e59fc000 ldr ip, \[pc\] ; .* <__app_func_weak_from_thumb\+0xc>
.*: e08cf00f add pc, ip, pc
.*: feffff.. .word 0xfeffff..
.* <__lib_func3_from_thumb>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e59fc000 ldr ip, \[pc\] ; .* <__lib_func3_from_thumb\+0xc>
.*: e08cf00f add pc, ip, pc
.*: feffff.. .word 0xfeffff..
@@ -94,14 +94,14 @@ Disassembly of section .text:
.* <__app_func_weak_from_thumb>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e59fc000 ldr ip, \[pc\] ; .* <__app_func_weak_from_thumb\+0xc>
.*: e08cf00f add pc, ip, pc
.*: fdffff34 .word 0xfdffff34
.* <__app_func_from_thumb>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e59fc000 ldr ip, \[pc\] ; .* <__app_func_from_thumb\+0xc>
.*: e08cf00f add pc, ip, pc
.*: fdffff14 .word 0xfdffff14
diff --git a/ld/testsuite/ld-arm/farcall-thumb-arm-pic-veneer.d b/ld/testsuite/ld-arm/farcall-thumb-arm-pic-veneer.d
index aff4df79bc484a685ea946037fe612ce7158a1ab..f96d467cea2693fcd503154492a3d97ac4d265e8 100644
--- a/ld/testsuite/ld-arm/farcall-thumb-arm-pic-veneer.d
+++ b/ld/testsuite/ld-arm/farcall-thumb-arm-pic-veneer.d
@@ -9,7 +9,7 @@ Disassembly of section .text:
01f01018 <__bar_from_thumb>:
1f01018: 4778 bx pc
- 1f0101a: 46c0 nop ; \(mov r8, r8\)
+ 1f0101a: e7fd b.n .+ <.+>
1f0101c: e59fc000 ldr ip, \[pc\] ; 1f01024 <__bar_from_thumb\+0xc>
1f01020: e08cf00f add pc, ip, pc
1f01024: 000fffec .word 0x000fffec
diff --git a/ld/testsuite/ld-arm/farcall-thumb-arm-short.d b/ld/testsuite/ld-arm/farcall-thumb-arm-short.d
index 4e190394336892f7c7e46a9bd6ac0a2f9eb14b14..b74f385c968e6b3bf7c020df84da032e619d8118 100644
--- a/ld/testsuite/ld-arm/farcall-thumb-arm-short.d
+++ b/ld/testsuite/ld-arm/farcall-thumb-arm-short.d
@@ -9,7 +9,7 @@ Disassembly of section .text:
00001008 <__bar_from_thumb>:
1008: 4778 bx pc
- 100a: 46c0 nop ; \(mov r8, r8\)
+ 100a: e7fd b.n .+ <.+>
100c: ea000400 b 2014 <bar>
Disassembly of section .foo:
diff --git a/ld/testsuite/ld-arm/farcall-thumb-arm.d b/ld/testsuite/ld-arm/farcall-thumb-arm.d
index 5dc377a0b0654632ec067effa698e00c370679a0..d62649d838a26dbb4c5cf81fab5dc502d35dfd92 100644
--- a/ld/testsuite/ld-arm/farcall-thumb-arm.d
+++ b/ld/testsuite/ld-arm/farcall-thumb-arm.d
@@ -9,13 +9,13 @@ Disassembly of section .text:
01f01018 <__bar_from_thumb>:
1f01018: 4778 bx pc
- 1f0101a: 46c0 nop ; \(mov r8, r8\)
+ 1f0101a: e7fd b.n .+ <.+>
1f0101c: e51ff004 ldr pc, \[pc, #-4\] ; 1f01020 <__bar_from_thumb\+0x8>
1f01020: 02001014 .word 0x02001014
01f01024 <__bar_from_thumb>:
1f01024: 4778 bx pc
- 1f01026: 46c0 nop ; \(mov r8, r8\)
+ 1f01026: e7fd b.n .+ <.+>
1f01028: ea03fff9 b 2001014 <bar>
1f0102c: 00000000 andeq r0, r0, r0
diff --git a/ld/testsuite/ld-arm/farcall-thumb-thumb-pic-veneer.d b/ld/testsuite/ld-arm/farcall-thumb-thumb-pic-veneer.d
index 8b14599a53014c5785b84d2836dcd5542f63bc50..0b7184bba2c63f2688745f748de5049e04d818da 100644
--- a/ld/testsuite/ld-arm/farcall-thumb-thumb-pic-veneer.d
+++ b/ld/testsuite/ld-arm/farcall-thumb-thumb-pic-veneer.d
@@ -9,7 +9,7 @@ Disassembly of section .text:
00001008 <__bar_veneer>:
1008: 4778 bx pc
- 100a: 46c0 nop ; \(mov r8, r8\)
+ 100a: e7fd b.n .+ <.+>
100c: e59fc004 ldr ip, \[pc, #4\] ; 1018 <__bar_veneer\+0x10>
1010: e08fc00c add ip, pc, ip
1014: e12fff1c bx ip
diff --git a/ld/testsuite/ld-arm/farcall-thumb-thumb.d b/ld/testsuite/ld-arm/farcall-thumb-thumb.d
index 4f4c2c9bd6f8c1835e8c82d4749d59d79cf86972..0d9a898eff46077d7583a14a60d732bbe90c29e3 100644
--- a/ld/testsuite/ld-arm/farcall-thumb-thumb.d
+++ b/ld/testsuite/ld-arm/farcall-thumb-thumb.d
@@ -9,7 +9,7 @@ Disassembly of section .text:
00001008 <__bar_veneer>:
1008: 4778 bx pc
- 100a: 46c0 nop ; \(mov r8, r8\)
+ 100a: e7fd b.n .+ <.+>
100c: e59fc000 ldr ip, \[pc\] ; 1014 <__bar_veneer\+0xc>
1010: e12fff1c bx ip
1014: 02001015 .word 0x02001015
diff --git a/ld/testsuite/ld-arm/fix-arm1176-on.d b/ld/testsuite/ld-arm/fix-arm1176-on.d
index 834618e89c99dfdffc82cd20de4fc1e56fb681d6..46510dc73d010eafaa73ca8bc25b53d9667ef805 100644
--- a/ld/testsuite/ld-arm/fix-arm1176-on.d
+++ b/ld/testsuite/ld-arm/fix-arm1176-on.d
@@ -9,7 +9,7 @@ Disassembly of section .foo:
[0-9a-f]+ <__func_to_branch_to_veneer>:
+[0-9a-f]+: 4778 bx pc
- +[0-9a-f]+: 46c0 nop ; \(mov r8, r8\)
+ +[0-9a-f]+: e7fd b.n .+ <.+>
+[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; 2001020 <__func_to_branch_to_veneer\+0x8>
+[0-9a-f]+: ........ .word 0x........
+[0-9a-f]+: 00000000 .word 0x00000000
diff --git a/ld/testsuite/ld-arm/ifunc-10.dd b/ld/testsuite/ld-arm/ifunc-10.dd
index 05e4be5b59b6d58f299ca0650c89c24a5f1c8807..6b9771f6c06a17c1d8d96865973292125982917e 100644
--- a/ld/testsuite/ld-arm/ifunc-10.dd
+++ b/ld/testsuite/ld-arm/ifunc-10.dd
@@ -18,7 +18,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
00009014 <atf2@plt>:
9014: 4778 bx pc
- 9016: 46c0 nop ; \(mov r8, r8\)
+ 9016: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ atf2's .plt entry
#------------------------------------------------------------------------------
@@ -37,7 +37,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
00009030 <ttf2@plt>:
9030: 4778 bx pc
- 9032: 46c0 nop ; \(mov r8, r8\)
+ 9032: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ ttf2's .plt entry
#------------------------------------------------------------------------------
@@ -49,7 +49,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
00009040 <tbf2@plt>:
9040: 4778 bx pc
- 9042: 46c0 nop ; \(mov r8, r8\)
+ 9042: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
@@ -75,7 +75,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
00009068 <abf4@plt>:
9068: 4778 bx pc
- 906a: 46c0 nop ; \(mov r8, r8\)
+ 906a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ abf4's .plt entry
#------------------------------------------------------------------------------
@@ -87,7 +87,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
00009078 <tbf4@plt>:
9078: 4778 bx pc
- 907a: 46c0 nop ; \(mov r8, r8\)
+ 907a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ tbf4's .plt entry
#------------------------------------------------------------------------------
@@ -99,7 +99,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
00009088 <ttf4@plt>:
9088: 4778 bx pc
- 908a: 46c0 nop ; \(mov r8, r8\)
+ 908a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ ttf4's .plt entry
#------------------------------------------------------------------------------
@@ -111,7 +111,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
00009098 <atf4@plt>:
9098: 4778 bx pc
- 909a: 46c0 nop ; \(mov r8, r8\)
+ 909a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ atf4's .plt entry
#------------------------------------------------------------------------------
@@ -130,7 +130,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
000090b4 <abf2@plt>:
90b4: 4778 bx pc
- 90b6: 46c0 nop ; \(mov r8, r8\)
+ 90b6: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
@@ -151,7 +151,7 @@ Disassembly of section \.iplt:
#------ thumb entry to atf1's .iplt entry
#------------------------------------------------------------------------------
90d0: 4778 bx pc
- 90d2: 46c0 nop ; \(mov r8, r8\)
+ 90d2: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ atf1's .iplt entry
#------------------------------------------------------------------------------
@@ -162,7 +162,7 @@ Disassembly of section \.iplt:
#------ thumb entry to abf1's .iplt entry
#------------------------------------------------------------------------------
90e0: 4778 bx pc
- 90e2: 46c0 nop ; \(mov r8, r8\)
+ 90e2: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
@@ -179,7 +179,7 @@ Disassembly of section \.iplt:
#------ thumb entry to ttf1's .iplt entry
#------------------------------------------------------------------------------
90fc: 4778 bx pc
- 90fe: 46c0 nop ; \(mov r8, r8\)
+ 90fe: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ ttf1's .iplt entry
#------------------------------------------------------------------------------
@@ -190,7 +190,7 @@ Disassembly of section \.iplt:
#------ thumb entry to tbf1's .iplt entry
#------------------------------------------------------------------------------
910c: 4778 bx pc
- 910e: 46c0 nop ; \(mov r8, r8\)
+ 910e: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
@@ -201,7 +201,7 @@ Disassembly of section \.iplt:
#------ thumb entry to atf3
#------------------------------------------------------------------------------
911c: 4778 bx pc
- 911e: 46c0 nop ; \(mov r8, r8\)
+ 911e: e7fd b.n .+ <.+>
00009120 <atf3>:
9120: e28fc600 add ip, pc, #0, 12
@@ -211,7 +211,7 @@ Disassembly of section \.iplt:
#------ thumb entry to abf3
#------------------------------------------------------------------------------
912c: 4778 bx pc
- 912e: 46c0 nop ; \(mov r8, r8\)
+ 912e: e7fd b.n .+ <.+>
00009130 <abf3>:
9130: e28fc600 add ip, pc, #0, 12
@@ -221,7 +221,7 @@ Disassembly of section \.iplt:
#------ thumb entry to ttf3
#------------------------------------------------------------------------------
913c: 4778 bx pc
- 913e: 46c0 nop ; \(mov r8, r8\)
+ 913e: e7fd b.n .+ <.+>
00009140 <ttf3>:
9140: e28fc600 add ip, pc, #0, 12
@@ -231,7 +231,7 @@ Disassembly of section \.iplt:
#------ thumb entry to tbf3
#------------------------------------------------------------------------------
914c: 4778 bx pc
- 914e: 46c0 nop ; \(mov r8, r8\)
+ 914e: e7fd b.n .+ <.+>
00009150 <tbf3>:
9150: e28fc600 add ip, pc, #0, 12
diff --git a/ld/testsuite/ld-arm/ifunc-2.dd b/ld/testsuite/ld-arm/ifunc-2.dd
index 91eab540d2968b29b56c03ccd2e6be85e18ffe10..a60ef2b02776dfe103a5db80d97c1d67e621caec 100644
--- a/ld/testsuite/ld-arm/ifunc-2.dd
+++ b/ld/testsuite/ld-arm/ifunc-2.dd
@@ -21,7 +21,7 @@ Disassembly of section \.iplt:
#------ thumb entry to f3's .iplt entry
#------------------------------------------------------------------------------
9018: 4778 bx pc
- 901a: 46c0 nop ; \(mov r8, r8\)
+ 901a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ f3's .iplt entry
#------------------------------------------------------------------------------
@@ -32,7 +32,7 @@ Disassembly of section \.iplt:
#------ thumb entry to f4's .iplt entry
#------------------------------------------------------------------------------
9028: 4778 bx pc
- 902a: 46c0 nop ; \(mov r8, r8\)
+ 902a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ f4's .iplt entry
#------------------------------------------------------------------------------
@@ -43,7 +43,7 @@ Disassembly of section \.iplt:
#------ thumb entry to f7
#------------------------------------------------------------------------------
9038: 4778 bx pc
- 903a: 46c0 nop ; \(mov r8, r8\)
+ 903a: e7fd b.n .+ <.+>
0000903c <f7>:
903c: e28fc600 add ip, pc, #0, 12
@@ -58,7 +58,7 @@ Disassembly of section \.iplt:
#------ thumb entry to f8
#------------------------------------------------------------------------------
9054: 4778 bx pc
- 9056: 46c0 nop ; \(mov r8, r8\)
+ 9056: e7fd b.n .+ <.+>
00009058 <f8>:
9058: e28fc600 add ip, pc, #0, 12
diff --git a/ld/testsuite/ld-arm/ifunc-4.dd b/ld/testsuite/ld-arm/ifunc-4.dd
index 647a340855d5b67876dc00125aacb8bba0c025cd..89fc34b85df7ca7b4bbd42709b5c2d2a6ec3c323 100644
--- a/ld/testsuite/ld-arm/ifunc-4.dd
+++ b/ld/testsuite/ld-arm/ifunc-4.dd
@@ -18,7 +18,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
00009014 <atf2@plt>:
9014: 4778 bx pc
- 9016: 46c0 nop ; \(mov r8, r8\)
+ 9016: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ atf2's .plt entry
#------------------------------------------------------------------------------
@@ -30,7 +30,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
00009024 <ttf2@plt>:
9024: 4778 bx pc
- 9026: 46c0 nop ; \(mov r8, r8\)
+ 9026: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ ttf2's .plt entry
#------------------------------------------------------------------------------
@@ -42,7 +42,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
00009034 <tbf2@plt>:
9034: 4778 bx pc
- 9036: 46c0 nop ; \(mov r8, r8\)
+ 9036: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ tbf2's .plt entry
#------------------------------------------------------------------------------
@@ -68,7 +68,7 @@ Disassembly of section \.plt:
#------------------------------------------------------------------------------
0000905c <abf2@plt>:
905c: 4778 bx pc
- 905e: 46c0 nop ; \(mov r8, r8\)
+ 905e: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ abf2's .plt entry
#------------------------------------------------------------------------------
@@ -89,7 +89,7 @@ Disassembly of section \.iplt:
#------ thumb entry to atf1's .iplt entry
#------------------------------------------------------------------------------
9078: 4778 bx pc
- 907a: 46c0 nop ; \(mov r8, r8\)
+ 907a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ atf1's .iplt entry
#------------------------------------------------------------------------------
@@ -100,7 +100,7 @@ Disassembly of section \.iplt:
#------ thumb entry to abf1's .iplt entry
#------------------------------------------------------------------------------
9088: 4778 bx pc
- 908a: 46c0 nop ; \(mov r8, r8\)
+ 908a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
@@ -117,7 +117,7 @@ Disassembly of section \.iplt:
#------ thumb entry to ttf1's .iplt entry
#------------------------------------------------------------------------------
90a4: 4778 bx pc
- 90a6: 46c0 nop ; \(mov r8, r8\)
+ 90a6: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ ttf1's .iplt entry
#------------------------------------------------------------------------------
@@ -128,7 +128,7 @@ Disassembly of section \.iplt:
#------ thumb entry to tbf1's .iplt entry
#------------------------------------------------------------------------------
90b4: 4778 bx pc
- 90b6: 46c0 nop ; \(mov r8, r8\)
+ 90b6: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
@@ -145,7 +145,7 @@ Disassembly of section \.iplt:
#------ thumb entry to atf3's .iplt entry
#------------------------------------------------------------------------------
90d0: 4778 bx pc
- 90d2: 46c0 nop ; \(mov r8, r8\)
+ 90d2: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ atf3's .iplt entry
#------------------------------------------------------------------------------
@@ -156,7 +156,7 @@ Disassembly of section \.iplt:
#------ thumb entry to abf3's .iplt entry
#------------------------------------------------------------------------------
90e0: 4778 bx pc
- 90e2: 46c0 nop ; \(mov r8, r8\)
+ 90e2: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ abf3's .iplt entry
#------------------------------------------------------------------------------
@@ -167,7 +167,7 @@ Disassembly of section \.iplt:
#------ thumb entry to ttf3's .iplt entry
#------------------------------------------------------------------------------
90f0: 4778 bx pc
- 90f2: 46c0 nop ; \(mov r8, r8\)
+ 90f2: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ ttf3's .iplt entry
#------------------------------------------------------------------------------
@@ -178,7 +178,7 @@ Disassembly of section \.iplt:
#------ thumb entry to tbf3's .iplt entry
#------------------------------------------------------------------------------
9100: 4778 bx pc
- 9102: 46c0 nop ; \(mov r8, r8\)
+ 9102: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ tbf3's .iplt entry
#------------------------------------------------------------------------------
@@ -195,7 +195,7 @@ Disassembly of section \.iplt:
#------ thumb entry to abf4's .iplt entry
#------------------------------------------------------------------------------
911c: 4778 bx pc
- 911e: 46c0 nop ; \(mov r8, r8\)
+ 911e: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ abf4's .iplt entry
#------------------------------------------------------------------------------
@@ -206,7 +206,7 @@ Disassembly of section \.iplt:
#------ thumb entry to tbf4's .iplt entry
#------------------------------------------------------------------------------
912c: 4778 bx pc
- 912e: 46c0 nop ; \(mov r8, r8\)
+ 912e: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ tbf4's .iplt entry
#------------------------------------------------------------------------------
@@ -217,7 +217,7 @@ Disassembly of section \.iplt:
#------ thumb entry to ttf4's .iplt entry
#------------------------------------------------------------------------------
913c: 4778 bx pc
- 913e: 46c0 nop ; \(mov r8, r8\)
+ 913e: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ ttf4's .iplt entry
#------------------------------------------------------------------------------
@@ -234,7 +234,7 @@ Disassembly of section \.iplt:
#------ thumb entry to atf4's .iplt entry
#------------------------------------------------------------------------------
9158: 4778 bx pc
- 915a: 46c0 nop ; \(mov r8, r8\)
+ 915a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ atf4's .iplt entry
#------------------------------------------------------------------------------
diff --git a/ld/testsuite/ld-arm/ifunc-6.dd b/ld/testsuite/ld-arm/ifunc-6.dd
index 3c9cbd5351d162bd19765531d9c1477ea23405b2..c060cb205161c5c5e14447fc5196df7851140249 100644
--- a/ld/testsuite/ld-arm/ifunc-6.dd
+++ b/ld/testsuite/ld-arm/ifunc-6.dd
@@ -9,7 +9,7 @@ Disassembly of section \.iplt:
#------ thumb entry to f3's .iplt entry
#------------------------------------------------------------------------------
9000: 4778 bx pc
- 9002: 46c0 nop ; \(mov r8, r8\)
+ 9002: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ f3's .iplt entry
#------------------------------------------------------------------------------
@@ -26,7 +26,7 @@ Disassembly of section \.iplt:
#------ thumb entry to f4's .iplt entry
#------------------------------------------------------------------------------
901c: 4778 bx pc
- 901e: 46c0 nop ; \(mov r8, r8\)
+ 901e: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ f4's .iplt entry
#------------------------------------------------------------------------------
diff --git a/ld/testsuite/ld-arm/ifunc-8.dd b/ld/testsuite/ld-arm/ifunc-8.dd
index 50a91770926cb02bcf6fd206c2bc1cf3a9c5d603..8216eb148de464935b92d5469a64f5e2205cedb7 100644
--- a/ld/testsuite/ld-arm/ifunc-8.dd
+++ b/ld/testsuite/ld-arm/ifunc-8.dd
@@ -15,7 +15,7 @@ Disassembly of section \.iplt:
#------ thumb entry to atf1's .iplt entry
#------------------------------------------------------------------------------
900c: 4778 bx pc
- 900e: 46c0 nop ; \(mov r8, r8\)
+ 900e: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ atf1's .iplt entry
#------------------------------------------------------------------------------
@@ -26,7 +26,7 @@ Disassembly of section \.iplt:
#------ thumb entry to abf1's .iplt entry
#------------------------------------------------------------------------------
901c: 4778 bx pc
- 901e: 46c0 nop ; \(mov r8, r8\)
+ 901e: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ abf1's .iplt entry
#------------------------------------------------------------------------------
@@ -43,7 +43,7 @@ Disassembly of section \.iplt:
#------ thumb entry to ttf1's .iplt entry
#------------------------------------------------------------------------------
9038: 4778 bx pc
- 903a: 46c0 nop ; \(mov r8, r8\)
+ 903a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ ttf1's .iplt entry
#------------------------------------------------------------------------------
@@ -54,7 +54,7 @@ Disassembly of section \.iplt:
#------ thumb entry to tbf1's .iplt entry
#------------------------------------------------------------------------------
9048: 4778 bx pc
- 904a: 46c0 nop ; \(mov r8, r8\)
+ 904a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ tbf1's .iplt entry
#------------------------------------------------------------------------------
@@ -65,7 +65,7 @@ Disassembly of section \.iplt:
#------ thumb entry to atf3's .iplt entry
#------------------------------------------------------------------------------
9058: 4778 bx pc
- 905a: 46c0 nop ; \(mov r8, r8\)
+ 905a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ atf3's .iplt entry
#------------------------------------------------------------------------------
@@ -76,7 +76,7 @@ Disassembly of section \.iplt:
#------ thumb entry to abf3's .iplt entry
#------------------------------------------------------------------------------
9068: 4778 bx pc
- 906a: 46c0 nop ; \(mov r8, r8\)
+ 906a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ abf3's .iplt entry
#------------------------------------------------------------------------------
@@ -87,7 +87,7 @@ Disassembly of section \.iplt:
#------ thumb entry to ttf3's .iplt entry
#------------------------------------------------------------------------------
9078: 4778 bx pc
- 907a: 46c0 nop ; \(mov r8, r8\)
+ 907a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ ttf3's .iplt entry
#------------------------------------------------------------------------------
@@ -98,7 +98,7 @@ Disassembly of section \.iplt:
#------ thumb entry to tbf3's .iplt entry
#------------------------------------------------------------------------------
9088: 4778 bx pc
- 908a: 46c0 nop ; \(mov r8, r8\)
+ 908a: e7fd b.n .+ <.+>
#------------------------------------------------------------------------------
#------ tbf3's .iplt entry
#------------------------------------------------------------------------------
diff --git a/ld/testsuite/ld-arm/jump-reloc-veneers-long.d b/ld/testsuite/ld-arm/jump-reloc-veneers-long.d
index ae176bed8ac92aa097b587224b40290af0b0ff45..1edb1b37729e7428f3d72be19e877aab4e040468 100644
--- a/ld/testsuite/ld-arm/jump-reloc-veneers-long.d
+++ b/ld/testsuite/ld-arm/jump-reloc-veneers-long.d
@@ -16,7 +16,7 @@ Disassembly of section .text:
000080.. <[^>]*>:
80..: 4778 bx pc
- 80..: 46c0 nop ; \(mov r8, r8\)
+ 80..: e7fd b.n .+ <.+>
80..: e59fc000 ldr ip, \[pc\] ; 80.. <__dest_veneer\+0xc>
80..: e12fff1c bx ip
80..: 09000001 .word 0x09000001
diff --git a/ld/testsuite/ld-arm/mixed-app.d b/ld/testsuite/ld-arm/mixed-app.d
index 4bcbdad8ded83dc8bef47475400457e4f2f0e96d..99c6e5dcf63574a7e7c5585fec5bfcea0b4a8762 100644
--- a/ld/testsuite/ld-arm/mixed-app.d
+++ b/ld/testsuite/ld-arm/mixed-app.d
@@ -14,7 +14,7 @@ Disassembly of section .plt:
.*: .*
.* <lib_func2@plt>:
.*: 4778 bx pc
- .*: 46c0 nop ; \(mov r8, r8\)
+ .*: e7fd b.n .+ <.+>
.*: e28fc6.* add ip, pc, #.*
.*: e28cca.* add ip, ip, #.* ; 0x.*
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
diff --git a/ld/testsuite/ld-arm/thumb2-b-interwork.d b/ld/testsuite/ld-arm/thumb2-b-interwork.d
index 67cb8638ec32ff13daee4c31bcc9c77586e7c64c..e01ef5054127f7b7195eba08cb6a9e69e154b8a4 100644
--- a/ld/testsuite/ld-arm/thumb2-b-interwork.d
+++ b/ld/testsuite/ld-arm/thumb2-b-interwork.d
@@ -11,6 +11,6 @@ Disassembly of section .text:
[0-9a-f]+ <__bar_from_thumb>:
+[0-9a-f]+: 4778 bx pc
- +[0-9a-f]+: 46c0 nop ; \(mov r8, r8\)
+ +[0-9a-f]+: e7fd b.n .+ <.+>
+[0-9a-f]+: eafffffc b [0-9a-f]+ <bar>
diff --git a/ld/testsuite/ld-arm/tls-longplt.d b/ld/testsuite/ld-arm/tls-longplt.d
index 066467228b79c9cb548d48b00f81b6ec5cdf9d4c..c7fad340257819bae3c7803683e8bd54f282c1c9 100644
--- a/ld/testsuite/ld-arm/tls-longplt.d
+++ b/ld/testsuite/ld-arm/tls-longplt.d
@@ -58,7 +58,7 @@ Disassembly of section .foo:
04001038 <__unnamed_veneer>:
4001038: 4778 bx pc
- 400103a: 46c0 nop ; .*
+ 400103a: e7fd b.n .+ <.+>
400103c: e51ff004 ldr pc, \[pc, #-4\] ; .*
4001040: 000081b0 .word 0x000081b0
4001044: 00000000 .word 0x00000000
diff --git a/ld/testsuite/ld-arm/tls-thumb1.d b/ld/testsuite/ld-arm/tls-thumb1.d
index 3b39f6560422bd8305cf10c3228095defeeb7b28..41d5f8c1b882d854ad73bf546b40b4e0321dc347 100644
--- a/ld/testsuite/ld-arm/tls-thumb1.d
+++ b/ld/testsuite/ld-arm/tls-thumb1.d
@@ -38,7 +38,7 @@ Disassembly of section .text:
000081a0 <__unnamed_veneer>:
.*: 4778 bx pc
-.*: 46c0 nop ; .*
+.*: e7fd b.n .+ <.+>
.*: e59f1000 ldr r1, \[pc\] ; .*
.*: e081f00f add pc, r1, pc
.*: ffffffa0 .word 0xffffffa0
@@ -67,7 +67,7 @@ Disassembly of section .foo:
0400103c <__unnamed_veneer>:
.*: 4778 bx pc
-.*: 46c0 nop ; .*
+.*: e7fd b.n .+ <.+>
.*: e59f1000 ldr r1, \[pc\] ; .*
.*: e081f00f add pc, r1, pc
.*: fc007104 .word 0xfc007104