From 10efb593b775f1426395c4521a11c4ec2fe6bc19 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 30 Jun 2006 14:16:13 +0000 Subject: [PATCH] bfd/ 2006-06-30 H.J. Lu * elf32-i386.c (elf_i386_relocate_section): Use xchg %ax,%ax instead of 2 nops. * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. (elf64_x86_64_plt0_entry): Use nopl 0(%rax) instead of 4 nops. ld/testsuite/ 2006-06-30 H.J. Lu * ld-i386/tlsbindesc.dd: Updated to expect xchg %ax,%ax instead of 2 nops. * ld-i386/tlsdesc.dd: Likewise. * ld-i386/tlsgdesc.dd: Likewise. * ld-x86-64/tlsbindesc.dd: Likewise. * ld-x86-64/tlsdesc.dd: Likewise. * ld-x86-64/tlsdesc.pd: Likewise. * ld-x86-64/tlsgdesc.dd: Likewise. --- bfd/ChangeLog | 7 +++++++ bfd/elf32-i386.c | 9 +++++---- bfd/elf64-x86-64.c | 12 +++++++----- ld/testsuite/ChangeLog | 11 +++++++++++ ld/testsuite/ld-i386/tlsbindesc.dd | 21 +++++++-------------- ld/testsuite/ld-i386/tlsdesc.dd | 24 ++++++++---------------- ld/testsuite/ld-i386/tlsgdesc.dd | 6 ++---- ld/testsuite/ld-x86-64/tlsbindesc.dd | 18 ++++++------------ ld/testsuite/ld-x86-64/tlsdesc.dd | 12 ++++-------- ld/testsuite/ld-x86-64/tlsdesc.pd | 10 ++-------- ld/testsuite/ld-x86-64/tlsgdesc.dd | 12 ++++-------- 11 files changed, 63 insertions(+), 79 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0367406379..760e5d4a8b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2006-06-30 H.J. Lu + + * elf32-i386.c (elf_i386_relocate_section): Use xchg %ax,%ax + instead of 2 nops. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + (elf64_x86_64_plt0_entry): Use nopl 0(%rax) instead of 4 nops. + 2006-06-29 Jakub Jelinek PR ld/2513 diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index bb2ee1533f..35b0525f29 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -2821,8 +2821,9 @@ elf_i386_relocate_section (bfd *output_bfd, val = bfd_get_8 (input_bfd, contents + roff + 1); BFD_ASSERT (val == 0x10); - /* Now modify the instruction as appropriate. */ - bfd_put_8 (output_bfd, 0x90, contents + roff); + /* Now modify the instruction as appropriate. Use + xchg %ax,%ax instead of 2 nops. */ + bfd_put_8 (output_bfd, 0x66, contents + roff); bfd_put_8 (output_bfd, 0x90, contents + roff + 1); continue; } @@ -3227,8 +3228,8 @@ elf_i386_relocate_section (bfd *output_bfd, /* Now modify the instruction as appropriate. */ if (tls_type != GOT_TLS_IE_NEG) { - /* nop; nop */ - bfd_put_8 (output_bfd, 0x90, contents + roff); + /* xchg %ax,%ax */ + bfd_put_8 (output_bfd, 0x66, contents + roff); bfd_put_8 (output_bfd, 0x90, contents + roff + 1); } else diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index c72a994779..b9cf0a3331 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -350,7 +350,7 @@ static const bfd_byte elf64_x86_64_plt0_entry[PLT_ENTRY_SIZE] = { 0xff, 0x35, 8, 0, 0, 0, /* pushq GOT+8(%rip) */ 0xff, 0x25, 16, 0, 0, 0, /* jmpq *GOT+16(%rip) */ - 0x90, 0x90, 0x90, 0x90 /* pad out to 16 bytes with nops. */ + 0x0f, 0x1f, 0x40, 0x00 /* nopl 0(%rax) */ }; /* Subsequent entries in a procedure linkage table look like this. */ @@ -2617,8 +2617,9 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info, val = bfd_get_8 (input_bfd, contents + roff + 1); BFD_ASSERT (val == 0x10); - /* Now modify the instruction as appropriate. */ - bfd_put_8 (output_bfd, 0x90, contents + roff); + /* Now modify the instruction as appropriate. Use + xchg %ax,%ax instead of 2 nops. */ + bfd_put_8 (output_bfd, 0x66, contents + roff); bfd_put_8 (output_bfd, 0x90, contents + roff + 1); continue; } @@ -2910,8 +2911,9 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info, val = bfd_get_8 (input_bfd, contents + roff + 1); BFD_ASSERT (val == 0x10); - /* Now modify the instruction as appropriate. */ - bfd_put_8 (output_bfd, 0x90, contents + roff); + /* Now modify the instruction as appropriate. Use + xchg %ax,%ax instead of 2 nops. */ + bfd_put_8 (output_bfd, 0x66, contents + roff); bfd_put_8 (output_bfd, 0x90, contents + roff + 1); continue; diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 3d17ec61e2..c47a93bbea 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2006-06-30 H.J. Lu + + * ld-i386/tlsbindesc.dd: Updated to expect xchg %ax,%ax instead + of 2 nops. + * ld-i386/tlsdesc.dd: Likewise. + * ld-i386/tlsgdesc.dd: Likewise. + * ld-x86-64/tlsbindesc.dd: Likewise. + * ld-x86-64/tlsdesc.dd: Likewise. + * ld-x86-64/tlsdesc.pd: Likewise. + * ld-x86-64/tlsgdesc.dd: Likewise. + 2006-06-29 Jakub Jelinek PR ld/2513 diff --git a/ld/testsuite/ld-i386/tlsbindesc.dd b/ld/testsuite/ld-i386/tlsbindesc.dd index 071a5b3204..4b4c507ec2 100644 --- a/ld/testsuite/ld-i386/tlsbindesc.dd +++ b/ld/testsuite/ld-i386/tlsbindesc.dd @@ -51,8 +51,7 @@ Disassembly of section .text: # the variable is referenced through @gotntpoff too [0-9a-f]+: 8b 83 dc ff ff ff[ ]+mov 0xffffffdc\(%ebx\),%eax # ->R_386_TLS_TPOFF sG3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -61,8 +60,7 @@ Disassembly of section .text: # the variable is referenced through @gottpoff and @gotntpoff too [0-9a-f]+: 8b 83 f0 ff ff ff[ ]+mov 0xfffffff0\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -70,8 +68,7 @@ Disassembly of section .text: # GD -> LE with global variable defined in executable [0-9a-f]+: 8d 05 00 f0 ff ff[ ]+lea 0xfffff000,%eax # sg1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -79,8 +76,7 @@ Disassembly of section .text: # GD -> LE with local variable defined in executable [0-9a-f]+: 8d 05 20 f0 ff ff[ ]+lea 0xfffff020,%eax # sl1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -88,16 +84,14 @@ Disassembly of section .text: # GD -> LE with hidden variable defined in executable [0-9a-f]+: 8d 05 40 f0 ff ff[ ]+lea 0xfffff040,%eax # sh1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * # LD -> LE [0-9a-f]+: 8d 05 00 f0 ff ff[ ]+lea 0xfffff000,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 8d 90 20 f0 ff ff[ ]+lea 0xfffff020\(%eax\),%edx @@ -112,8 +106,7 @@ Disassembly of section .text: [0-9a-f]+: 90[ ]+nop * # LD -> LE against hidden variables [0-9a-f]+: 8d 05 00 f0 ff ff[ ]+lea 0xfffff000,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 8d 90 40 f0 ff ff[ ]+lea 0xfffff040\(%eax\),%edx diff --git a/ld/testsuite/ld-i386/tlsdesc.dd b/ld/testsuite/ld-i386/tlsdesc.dd index 666f790cc2..3179fc44e5 100644 --- a/ld/testsuite/ld-i386/tlsdesc.dd +++ b/ld/testsuite/ld-i386/tlsdesc.dd @@ -40,8 +40,7 @@ Disassembly of section .text: # GD -> IE because variable is referenced through @gotntpoff too [0-9a-f]+: 8b 83 c4 ff ff ff[ ]+mov 0xffffffc4\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sg3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -49,8 +48,7 @@ Disassembly of section .text: # GD -> IE because variable is referenced through @gottpoff and [0-9a-f]+: 8b 83 d4 ff ff ff[ ]+mov 0xffffffd4\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sg4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -74,8 +72,7 @@ Disassembly of section .text: # GD -> IE against local variable referenced through @gotntpoff [0-9a-f]+: 8b 83 b4 ff ff ff[ ]+mov 0xffffffb4\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sl3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -83,8 +80,7 @@ Disassembly of section .text: # GD -> IE against local variable referenced through @gottpoff and [0-9a-f]+: 8b 83 bc ff ff ff[ ]+mov 0xffffffbc\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sl4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -108,8 +104,7 @@ Disassembly of section .text: # GD -> IE against hidden and local variable referenced through @gotntpoff too [0-9a-f]+: 8b 83 c8 ff ff ff[ ]+mov 0xffffffc8\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sh3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -117,8 +112,7 @@ Disassembly of section .text: # GD -> IE against hidden and local variable referenced through @gottpoff and @gotntpoff too [0-9a-f]+: 8b 83 e8 ff ff ff[ ]+mov 0xffffffe8\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sh4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -142,8 +136,7 @@ Disassembly of section .text: # GD -> IE against hidden but not local variable referenced through [0-9a-f]+: 8b 83 ec ff ff ff[ ]+mov 0xffffffec\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sH3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -151,8 +144,7 @@ Disassembly of section .text: # GD -> IE against hidden but not local variable referenced through [0-9a-f]+: 8b 83 e0 ff ff ff[ ]+mov 0xffffffe0\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sH4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * diff --git a/ld/testsuite/ld-i386/tlsgdesc.dd b/ld/testsuite/ld-i386/tlsgdesc.dd index ca4092ea84..a56b305a76 100644 --- a/ld/testsuite/ld-i386/tlsgdesc.dd +++ b/ld/testsuite/ld-i386/tlsgdesc.dd @@ -89,8 +89,7 @@ Disassembly of section .text: # GD -> IE because variable is referenced through @gotntpoff too [0-9a-f]+: 8b 83 f0 ff ff ff[ ]+mov 0xfffffff0\(%ebx\),%eax # ->R_386_TLS_TPOFF sG4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -112,8 +111,7 @@ Disassembly of section .text: [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 8b 83 e4 ff ff ff[ ]+mov 0xffffffe4\(%ebx\),%eax # ->R_386_TLS_TPOFF sG5 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * diff --git a/ld/testsuite/ld-x86-64/tlsbindesc.dd b/ld/testsuite/ld-x86-64/tlsbindesc.dd index a2e80660e9..17143881da 100644 --- a/ld/testsuite/ld-x86-64/tlsbindesc.dd +++ b/ld/testsuite/ld-x86-64/tlsbindesc.dd @@ -24,8 +24,7 @@ Disassembly of section .text: # GD -> IE because variable is not defined in executable [0-9a-f]+: 48 8b 05 65 03 20 00[ ]+mov 2098021\(%rip\),%rax +# 601370 <.*> # -> R_X86_64_TPOFF64 sG1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -34,8 +33,7 @@ Disassembly of section .text: # the variable is referenced through IE too [0-9a-f]+: 48 8b 05 48 03 20 00[ ]+mov 2097992\(%rip\),%rax +# 601360 <.*> # -> R_X86_64_TPOFF64 sG2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -43,8 +41,7 @@ Disassembly of section .text: # GD -> LE with global variable defined in executable [0-9a-f]+: 48 c7 c0 60 ff ff ff[ ]+mov \$0xf+60,%rax # sg1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -52,8 +49,7 @@ Disassembly of section .text: # GD -> LE with local variable defined in executable [0-9a-f]+: 48 c7 c0 80 ff ff ff[ ]+mov \$0xf+80,%rax # sl1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * @@ -61,16 +57,14 @@ Disassembly of section .text: # GD -> LE with hidden variable defined in executable [0-9a-f]+: 48 c7 c0 a0 ff ff ff[ ]+mov \$0xf+a0,%rax # sh1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * # LD -> LE [0-9a-f]+: 48 c7 c0 60 ff ff ff[ ]+mov \$0xf+60,%rax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + [0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 90[ ]+nop * [0-9a-f]+: 48 8d 90 81 ff ff ff[ ]+lea 0xf+81\(%rax\),%rdx diff --git a/ld/testsuite/ld-x86-64/tlsdesc.dd b/ld/testsuite/ld-x86-64/tlsdesc.dd index ed7cf480a3..78c0942c98 100644 --- a/ld/testsuite/ld-x86-64/tlsdesc.dd +++ b/ld/testsuite/ld-x86-64/tlsdesc.dd @@ -27,8 +27,7 @@ Disassembly of section .text: # GD -> IE because variable is referenced through IE too +[0-9a-f]+: 48 8b 05 1c 03 20 00[ ]+mov 2097948\(%rip\),%rax +# 201338 <.*> # -> R_X86_64_TPOFF64 sg2 - +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -44,8 +43,7 @@ Disassembly of section .text: # GD -> IE against local variable referenced through IE too +[0-9a-f]+: 48 8b 05 d2 02 20 00[ ]+mov 2097874\(%rip\),%rax +# 201308 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x24 - +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -61,8 +59,7 @@ Disassembly of section .text: # GD -> IE against hidden and local variable referenced through IE too +[0-9a-f]+: 48 8b 05 f0 02 20 00[ ]+mov 2097904\(%rip\),%rax +# 201340 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x44 - +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -78,8 +75,7 @@ Disassembly of section .text: # GD -> IE against hidden but not local variable referenced through IE too +[0-9a-f]+: 48 8b 05 ae 02 20 00[ ]+mov 2097838\(%rip\),%rax +# 201318 <.*> # -> R_X86_64_TPOFF64 *ABS*+0x64 - +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * diff --git a/ld/testsuite/ld-x86-64/tlsdesc.pd b/ld/testsuite/ld-x86-64/tlsdesc.pd index c906944270..cd22fd5666 100644 --- a/ld/testsuite/ld-x86-64/tlsdesc.pd +++ b/ld/testsuite/ld-x86-64/tlsdesc.pd @@ -12,15 +12,9 @@ Disassembly of section .plt: 0000000000000470 <.*@plt-0x10>: 470: ff 35 e2 0e 20 00 pushq 2100962\(%rip\) # 201358 <_GLOBAL_OFFSET_TABLE_\+0x8> 476: ff 25 e4 0e 20 00 jmpq \*2100964\(%rip\) # 201360 <_GLOBAL_OFFSET_TABLE_\+0x10> - 47c: 90 nop * - 47d: 90 nop * - 47e: 90 nop * - 47f: 90 nop * + 47c: 0f 1f 40 00 nopl 0x0\(%rax\) 0000000000000480 <.*@plt>: 480: ff 35 d2 0e 20 00 pushq 2100946\(%rip\) # 201358 <_GLOBAL_OFFSET_TABLE_\+0x8> 486: ff 25 bc 0e 20 00 jmpq \*2100924\(%rip\) # 201348 <_DYNAMIC\+0x190> - 48c: 90 nop * - 48d: 90 nop * - 48e: 90 nop * - 48f: 90 nop * + 48c: 0f 1f 40 00 nopl 0x0\(%rax\) diff --git a/ld/testsuite/ld-x86-64/tlsgdesc.dd b/ld/testsuite/ld-x86-64/tlsgdesc.dd index 1120ddac8b..1f017cabcc 100644 --- a/ld/testsuite/ld-x86-64/tlsgdesc.dd +++ b/ld/testsuite/ld-x86-64/tlsgdesc.dd @@ -84,8 +84,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 48 8b 05 e7 01 20 00[ ]+mov 2097639\(%rip\),%rax +# 200660 <.*> # -> R_X86_64_TPOFF64 sG3 - +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -93,8 +92,7 @@ Disassembly of section .text: # GD -> IE, desc first, after IE use +[0-9a-f]+: 48 8b 05 fa 01 20 00[ ]+mov 2097658\(%rip\),%rax +# 200680 <.*> # -> R_X86_64_TPOFF64 sG4 - +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -118,8 +116,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 48 8b 05 ad 01 20 00[ ]+mov 2097581\(%rip\),%rax +# 200668 <.*> # -> R_X86_64_TPOFF64 sG5 - +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -127,8 +124,7 @@ Disassembly of section .text: # GD -> IE, desc first, before IE use +[0-9a-f]+: 48 8b 05 c0 01 20 00[ ]+mov 2097600\(%rip\),%rax +# 200688 <.*> # -> R_X86_64_TPOFF64 sG6 - +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * -- 2.34.1