bfd/
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 30 Jun 2006 14:16:13 +0000 (14:16 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 30 Jun 2006 14:16:13 +0000 (14:16 +0000)
2006-06-30  H.J. Lu  <hongjiu.lu@intel.com>

* 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  <hongjiu.lu@intel.com>

* 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
bfd/elf32-i386.c
bfd/elf64-x86-64.c
ld/testsuite/ChangeLog
ld/testsuite/ld-i386/tlsbindesc.dd
ld/testsuite/ld-i386/tlsdesc.dd
ld/testsuite/ld-i386/tlsgdesc.dd
ld/testsuite/ld-x86-64/tlsbindesc.dd
ld/testsuite/ld-x86-64/tlsdesc.dd
ld/testsuite/ld-x86-64/tlsdesc.pd
ld/testsuite/ld-x86-64/tlsgdesc.dd

index 0367406..760e5d4 100644 (file)
@@ -1,3 +1,10 @@
+2006-06-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * 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  <jakub@redhat.com>
 
        PR ld/2513
index bb2ee15..35b0525 100644 (file)
@@ -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
index c72a994..b9cf0a3 100644 (file)
@@ -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;
index 3d17ec6..c47a93b 100644 (file)
@@ -1,3 +1,14 @@
+2006-06-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * 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  <jakub@redhat.com>
 
        PR ld/2513
index 071a5b3..4b4c507 100644 (file)
@@ -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
index 666f790..3179fc4 100644 (file)
@@ -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 *
index ca4092e..a56b305 100644 (file)
@@ -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 *
index a2e8066..1714388 100644 (file)
@@ -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
index ed7cf48..78c0942 100644 (file)
@@ -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 *
index c906944..cd22fd5 100644 (file)
@@ -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\)
 
index 1120dda..1f017ca 100644 (file)
@@ -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 *