]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Revert "elf: Remove the 1-page gap before the RELRO segment"
authorAlan Modra <amodra@gmail.com>
Sat, 5 Feb 2022 09:36:52 +0000 (20:06 +1030)
committerAlan Modra <amodra@gmail.com>
Mon, 7 Feb 2022 03:12:41 +0000 (13:42 +1030)
This reverts commit 2f83249c13d86065b4c7cdb198ea871017b4bba1.

PR ld/28743
* ldlang.c (lang_size_relro_segment_1): Revert 2022-01-10 changes.
* testsuite/ld-i386/pr20830.d: Likewise.
* testsuite/ld-s390/gotreloc_64-relro-1.dd: Likewise.
* testsuite/ld-x86-64/pr14207.d: Likewise.
* testsuite/ld-x86-64/pr18176.d: Likewise.
* testsuite/ld-x86-64/pr20830a-now.d: Likewise.
* testsuite/ld-x86-64/pr20830a.d: Likewise.
* testsuite/ld-x86-64/pr20830b-now.d: Likewise.
* testsuite/ld-x86-64/pr20830b.d: Likewise.
* testsuite/ld-x86-64/pr21038a-now.d: Likewise.
* testsuite/ld-x86-64/pr21038a.d: Likewise.
* testsuite/ld-x86-64/pr21038b-now.d: Likewise.
* testsuite/ld-x86-64/pr21038c-now.d: Likewise.
* testsuite/ld-x86-64/pr21038c.d: Likewise.

14 files changed:
ld/ldlang.c
ld/testsuite/ld-i386/pr20830.d
ld/testsuite/ld-s390/gotreloc_64-relro-1.dd
ld/testsuite/ld-x86-64/pr14207.d
ld/testsuite/ld-x86-64/pr18176.d
ld/testsuite/ld-x86-64/pr20830a-now.d
ld/testsuite/ld-x86-64/pr20830a.d
ld/testsuite/ld-x86-64/pr20830b-now.d
ld/testsuite/ld-x86-64/pr20830b.d
ld/testsuite/ld-x86-64/pr21038a-now.d
ld/testsuite/ld-x86-64/pr21038a.d
ld/testsuite/ld-x86-64/pr21038b-now.d
ld/testsuite/ld-x86-64/pr21038c-now.d
ld/testsuite/ld-x86-64/pr21038c.d

index cf13932a9b16278469998563adc8d741a13ceaee..84511c4d6157a1568314fdf80d17ea6d9f49e4fc 100644 (file)
@@ -6371,9 +6371,7 @@ static bfd_vma
 lang_size_relro_segment_1 (seg_align_type *seg)
 {
   bfd_vma relro_end, desired_end;
-  asection *sec, *prev_sec = NULL;
-  bool remove_page_gap = false;
-  unsigned int max_alignment_power = 0;
+  asection *sec;
 
   /* Compute the expected PT_GNU_RELRO/PT_LOAD segment end.  */
   relro_end = ((seg->relro_end + seg->pagesize - 1)
@@ -6384,79 +6382,28 @@ lang_size_relro_segment_1 (seg_align_type *seg)
 
   /* For sections in the relro segment..  */
   for (sec = link_info.output_bfd->section_last; sec; sec = sec->prev)
-    if ((sec->flags & SEC_ALLOC) != 0)
+    if ((sec->flags & SEC_ALLOC) != 0
+       && sec->vma >= seg->base
+       && sec->vma < seg->relro_end - seg->relro_offset)
       {
-       if (sec->alignment_power > max_alignment_power)
-         max_alignment_power = sec->alignment_power;
-
-       if (sec->vma >= seg->base
-           && sec->vma < seg->relro_end - seg->relro_offset)
-         {
-           /* Where do we want to put this section so that it ends as
-              desired?  */
-           bfd_vma start, end, bump;
-
-           end = start = sec->vma;
-           if (!IS_TBSS (sec))
-             end += TO_ADDR (sec->size);
-           bump = desired_end - end;
-           /* We'd like to increase START by BUMP, but we must heed
-              alignment so the increase might be less than optimum.  */
-           start += bump;
-           start &= ~(((bfd_vma) 1 << sec->alignment_power) - 1);
-           /* This is now the desired end for the previous section.  */
-           desired_end = start;
-           prev_sec = sec->prev;
-         }
+       /* Where do we want to put this section so that it ends as
+          desired?  */
+       bfd_vma start, end, bump;
+
+       end = start = sec->vma;
+       if (!IS_TBSS (sec))
+         end += TO_ADDR (sec->size);
+       bump = desired_end - end;
+       /* We'd like to increase START by BUMP, but we must heed
+          alignment so the increase might be less than optimum.  */
+       start += bump;
+       start &= ~(((bfd_vma) 1 << sec->alignment_power) - 1);
+       /* This is now the desired end for the previous section.  */
+       desired_end = start;
       }
 
   seg->phase = exp_seg_relro_adjust;
   ASSERT (desired_end >= seg->base);
-
-  for (; prev_sec; prev_sec = prev_sec->prev)
-    if ((prev_sec->flags & SEC_ALLOC) != 0)
-      {
-       if (prev_sec->alignment_power > max_alignment_power)
-         max_alignment_power = prev_sec->alignment_power;
-
-       if (prev_sec->size != 0)
-         {
-           /* The 1-page gap before the RELRO segment may be removed.  */
-           remove_page_gap = ((prev_sec->vma + prev_sec->size
-                               + seg->maxpagesize) < desired_end);
-
-           break;
-         }
-      }
-
-  if (remove_page_gap)
-    {
-      /* Find the maximum section alignment.  */
-      for (sec = prev_sec; sec; sec = sec->prev)
-       if ((sec->flags & SEC_ALLOC) != 0
-           && sec->alignment_power > max_alignment_power)
-         max_alignment_power = sec->alignment_power;
-
-      /* Remove the 1-page gap before the RELRO segment only if the
-        maximum page size >= the maximum section alignment.  */
-      if (seg->maxpagesize >= (1U << max_alignment_power))
-       {
-         /* If the preceding section size is greater than the maximum
-            page size, subtract the maximum page size.  Otherwise,
-            align the RELRO segment to the maximum page size.  */
-         if (prev_sec->size > seg->maxpagesize)
-           {
-             desired_end -= seg->maxpagesize;
-             relro_end -= seg->maxpagesize;
-           }
-         else
-           {
-             desired_end &= ~(seg->maxpagesize - 1);
-             relro_end &= ~(seg->maxpagesize - 1);
-           }
-         }
-      }
-
   seg->base = desired_end;
   return relro_end;
 }
index 0bc9956f6e08e0a8faedd1e46945ecb92e14b60f..78cbc00864add329d959509e9cb3c597f10f3bd2 100644 (file)
@@ -49,12 +49,12 @@ Disassembly of section .plt:
 Disassembly of section .plt.got:
 
 0+120 <func@plt>:
- +[a-f0-9]+:   ff a3 78 f0 ff ff       jmp    \*-0xf88\(%ebx\)
+ +[a-f0-9]+:   ff a3 fc ff ff ff       jmp    \*-0x4\(%ebx\)
  +[a-f0-9]+:   66 90                   xchg   %ax,%ax
 
 Disassembly of section .text:
 
 0+128 <foo>:
  +[a-f0-9]+:   e8 f3 ff ff ff          call   120 <func@plt>
- +[a-f0-9]+:   8b 83 78 f0 ff ff       mov    -0xf88\(%ebx\),%eax
+ +[a-f0-9]+:   8b 83 fc ff ff ff       mov    -0x4\(%ebx\),%eax
 #pass
index 5a107465be29e0277f521d0970e69eb129e706f7..64151d10a7c8aadf246cb560280dca584453cbd6 100644 (file)
@@ -5,8 +5,8 @@ Disassembly of section .text:
 .* <foo>:
 .*:    c0 10 00 00 0f 0c [      ]*larl %r1,2000 <bar>
 .*:    c0 10 00 00 0f 09 [      ]*larl %r1,2000 <bar>
-.*:    c4 1d 00 00 07 8a [      ]*lrl  %r1,1108 <_GLOBAL_OFFSET_TABLE_\+0x28>
+.*:    c4 1d 00 00 0f 02 [      ]*lrl  %r1,1ff8 <_GLOBAL_OFFSET_TABLE_\+0x28>
 .*:    58 10 c0 28 [    ]*l    %r1,40\(%r12\)
 .*:    e3 10 c0 28 00 58 [      ]*ly   %r1,40\(%r12\)
-.*:    c4 18 00 00 07 7e [      ]*lgrl %r1,1100 <_GLOBAL_OFFSET_TABLE_\+0x20>
-.*:    c4 18 00 00 07 77 [      ]*lgrl %r1,10f8 <_GLOBAL_OFFSET_TABLE_\+0x18>
+.*:    c4 18 00 00 0e f6 [      ]*lgrl %r1,1ff0 <_GLOBAL_OFFSET_TABLE_\+0x20>
+.*:    c4 18 00 00 0e ef [      ]*lgrl %r1,1fe8 <_GLOBAL_OFFSET_TABLE_\+0x18>
index c1991daccc8acedd312c1b9dd4e21d39a1cbc95e..e3af36146c6af3752cfe57764fadc6fad16c4b0c 100644 (file)
@@ -11,9 +11,9 @@ There are 4 program headers, starting at offset 64
 Program Headers:
   Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
   LOAD           0x000000 0x0000000000000000 0x0000000000000000 0x000150 0x000150 R   0x200000
-  LOAD           0x000150 0x0000000000200150 0x0000000000200150 0x0004b8 0x0016f0 RW  0x200000
-  DYNAMIC        0x0001a0 0x00000000002001a0 0x00000000002001a0 0x0001c0 0x0001c0 RW  0x8
-  GNU_RELRO      0x000150 0x0000000000200150 0x0000000000200150 0x0004b8 0x000eb0 R   0x1
+  LOAD           0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.0 0x000c.8 RW  0x200000
+  DYNAMIC        0x000b.0 0x0000000000200b.0 0x0000000000200b.0 0x0001.0 0x0001.0 RW  0x8
+  GNU_RELRO      0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.0 0x0004.8 R   0x1
 
  Section to Segment mapping:
   Segment Sections...
index c053b52a2928612e82340244f1d14cfbab422632..a99ff15ac6bee23984d9c8bb70d2c586a710150b 100644 (file)
@@ -5,5 +5,5 @@
 #target: x86_64-*-linux*
 
 #...
-  GNU_RELRO      0x04bcc7 0x000000000024bcc7 0x000000000024bcc7 0x002339 0x002339 R   0x1
+  GNU_RELRO      0x04bd17 0x000000000024bd17 0x000000000024bd17 0x0022e9 0x0022e9 R   0x1
 #pass
index dbafd488a1657af30b85a3648bf82f75a8713b1f..44a2593acd1c16597c062800b6debff69de091ef 100644 (file)
@@ -50,19 +50,19 @@ Contents of the .eh_frame section:
 Disassembly of section .plt:
 
 0+1b0 <.plt>:
- +[a-f0-9]+:   ff 35 aa 01 20 00       push   0x2001aa\(%rip\)        # 200360 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+:   ff 25 ac 01 20 00       jmp    \*0x2001ac\(%rip\)        # 200368 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+:   ff 35 32 0e 20 00       push   0x200e32\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+:   ff 25 34 0e 20 00       jmp    \*0x200e34\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+:   0f 1f 40 00             nopl   0x0\(%rax\)
 
 Disassembly of section .plt.got:
 
 0+1c0 <func@plt>:
- +[a-f0-9]+:   ff 25 aa 01 20 00       jmp    \*0x2001aa\(%rip\)        # 200370 <func>
+ +[a-f0-9]+:   ff 25 32 0e 20 00       jmp    \*0x200e32\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+:   66 90                   xchg   %ax,%ax
 
 Disassembly of section .text:
 
 0+1c8 <foo>:
  +[a-f0-9]+:   e8 f3 ff ff ff          call   1c0 <func@plt>
- +[a-f0-9]+:   48 8b 05 9c 01 20 00    mov    0x20019c\(%rip\),%rax        # 200370 <func>
+ +[a-f0-9]+:   48 8b 05 24 0e 20 00    mov    0x200e24\(%rip\),%rax        # 200ff8 <func>
 #pass
index c80083aed61357cf119975b34f9b958583807b77..4ea0596fab02d469d9c3e8d944d245b2d9161a11 100644 (file)
@@ -57,12 +57,12 @@ Disassembly of section .plt:
 Disassembly of section .plt.got:
 
 0+1c0 <func@plt>:
- +[a-f0-9]+:   ff 25 72 01 20 00       jmp    \*0x200172\(%rip\)        # 200338 <func>
+ +[a-f0-9]+:   ff 25 32 0e 20 00       jmp    \*0x200e32\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+:   66 90                   xchg   %ax,%ax
 
 Disassembly of section .text:
 
 0+1c8 <foo>:
  +[a-f0-9]+:   e8 f3 ff ff ff          call   1c0 <func@plt>
- +[a-f0-9]+:   48 8b 05 64 01 20 00    mov    0x200164\(%rip\),%rax        # 200338 <func>
+ +[a-f0-9]+:   48 8b 05 24 0e 20 00    mov    0x200e24\(%rip\),%rax        # 200ff8 <func>
 #pass
index 197934c9cbae86e13d3ea0ee300e3ecb973f1152..6a4f2c1a48f4ebe2cca81848f985ec8222912c61 100644 (file)
@@ -1,4 +1,4 @@
-#name: PR ld/20830 x32 (.plt.got, -z now)
+#name: PR ld/20830 (.plt.got, -z now)
 #source: pr20830.s
 #as: --x32
 #ld: -z now -melf32_x86_64 -shared -z relro --ld-generated-unwind-info --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS
@@ -42,19 +42,19 @@ Contents of the .eh_frame section:
 Disassembly of section .plt:
 
 0+120 <.plt>:
- +[a-f0-9]+:   ff 35 12 01 20 00       push   0x200112\(%rip\)        # 200238 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+:   ff 25 14 01 20 00       jmp    \*0x200114\(%rip\)        # 200240 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+:   ff 35 c2 0e 20 00       push   0x200ec2\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+:   ff 25 c4 0e 20 00       jmp    \*0x200ec4\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+:   0f 1f 40 00             nopl   0x0\(%rax\)
 
 Disassembly of section .plt.got:
 
 0+130 <func@plt>:
- +[a-f0-9]+:   ff 25 12 01 20 00       jmp    \*0x200112\(%rip\)        # 200248 <func>
+ +[a-f0-9]+:   ff 25 c2 0e 20 00       jmp    \*0x200ec2\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+:   66 90                   xchg   %ax,%ax
 
 Disassembly of section .text:
 
 0+138 <foo>:
  +[a-f0-9]+:   e8 f3 ff ff ff          call   130 <func@plt>
- +[a-f0-9]+:   48 8b 05 04 01 20 00    mov    0x200104\(%rip\),%rax        # 200248 <func>
+ +[a-f0-9]+:   48 8b 05 b4 0e 20 00    mov    0x200eb4\(%rip\),%rax        # 200ff8 <func>
 #pass
index 00c821b7618e1ed6e790cd182f127f954f3b153a..6487eb85945227bd997dfb851e8b733d8be1f03e 100644 (file)
@@ -1,4 +1,4 @@
-#name: PR ld/20830 x32 (.plt.got)
+#name: PR ld/20830 (.plt.got)
 #source: pr20830.s
 #as: --x32
 #ld: -melf32_x86_64 -shared -z relro --ld-generated-unwind-info --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code $NO_DT_RELR_LDFLAGS
@@ -49,12 +49,12 @@ Disassembly of section .plt:
 Disassembly of section .plt.got:
 
 0+130 <func@plt>:
- +[a-f0-9]+:   ff 25 ea 00 20 00       jmp    \*0x2000ea\(%rip\)        # 200220 <func>
+ +[a-f0-9]+:   ff 25 c2 0e 20 00       jmp    \*0x200ec2\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+:   66 90                   xchg   %ax,%ax
 
 Disassembly of section .text:
 
 0+138 <foo>:
  +[a-f0-9]+:   e8 f3 ff ff ff          call   130 <func@plt>
- +[a-f0-9]+:   48 8b 05 dc 00 20 00    mov    0x2000dc\(%rip\),%rax        # 200220 <func>
+ +[a-f0-9]+:   48 8b 05 b4 0e 20 00    mov    0x200eb4\(%rip\),%rax        # 200ff8 <func>
 #pass
index 8126737bf3ce22baa64d68dcb32f968401580f19..51e26578a1ac3f0d5f1e1a85a1a40863f2751075 100644 (file)
@@ -50,19 +50,19 @@ Contents of the .eh_frame section:
 Disassembly of section .plt:
 
 0+1b0 <.plt>:
- +[a-f0-9]+:   ff 35 aa 01 20 00       push   0x2001aa\(%rip\)        # 200360 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+:   f2 ff 25 ab 01 20 00    bnd jmp \*0x2001ab\(%rip\)        # 200368 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+:   ff 35 32 0e 20 00       push   0x200e32\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+:   f2 ff 25 33 0e 20 00    bnd jmp \*0x200e33\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+:   0f 1f 00                nopl   \(%rax\)
 
 Disassembly of section .plt.got:
 
 0+1c0 <func@plt>:
- +[a-f0-9]+:   f2 ff 25 a9 01 20 00    bnd jmp \*0x2001a9\(%rip\)        # 200370 <func>
+ +[a-f0-9]+:   f2 ff 25 31 0e 20 00    bnd jmp \*0x200e31\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+:   90                      nop
 
 Disassembly of section .text:
 
 0+1c8 <foo>:
  +[a-f0-9]+:   e8 f3 ff ff ff          call   1c0 <func@plt>
- +[a-f0-9]+:   48 8b 05 9c 01 20 00    mov    0x20019c\(%rip\),%rax        # 200370 <func>
+ +[a-f0-9]+:   48 8b 05 24 0e 20 00    mov    0x200e24\(%rip\),%rax        # 200ff8 <func>
 #pass
index b3160946ddd78ea2b36159972d82710ac06047a7..0ea7e8ed5b6f064fad76b2882c6fb5a78e518d73 100644 (file)
@@ -56,12 +56,12 @@ Disassembly of section .plt:
 Disassembly of section .plt.got:
 
 0+1c0 <func@plt>:
- +[a-f0-9]+:   f2 ff 25 71 01 20 00    bnd jmp \*0x200171\(%rip\)        # 200338 <func>
+ +[a-f0-9]+:   f2 ff 25 31 0e 20 00    bnd jmp \*0x200e31\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+:   90                      nop
 
 Disassembly of section .text:
 
 0+1c8 <foo>:
  +[a-f0-9]+:   e8 f3 ff ff ff          call   1c0 <func@plt>
- +[a-f0-9]+:   48 8b 05 64 01 20 00    mov    0x200164\(%rip\),%rax        # 200338 <func>
+ +[a-f0-9]+:   48 8b 05 24 0e 20 00    mov    0x200e24\(%rip\),%rax        # 200ff8 <func>
 #pass
index 838c2fcf1cc0f44b11af6ffd192afee04b214ce9..1b760f200dbf681cc218d1d872557dbe5a195e4e 100644 (file)
@@ -50,8 +50,8 @@ Contents of the .eh_frame section:
 Disassembly of section .plt:
 
 0+1b0 <.plt>:
- +[a-f0-9]+:   ff 35 b2 01 20 00       push   0x2001b2\(%rip\)        # 200368 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+:   f2 ff 25 b3 01 20 00    bnd jmp \*0x2001b3\(%rip\)        # 200370 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+:   ff 35 32 0e 20 00       push   0x200e32\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+:   f2 ff 25 33 0e 20 00    bnd jmp \*0x200e33\(%rip\)        # 200ff0 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+:   0f 1f 00                nopl   \(%rax\)
  +[a-f0-9]+:   68 00 00 00 00          push   \$0x0
  +[a-f0-9]+:   f2 e9 e5 ff ff ff       bnd jmp 1b0 <func@plt-0x20>
@@ -60,7 +60,7 @@ Disassembly of section .plt:
 Disassembly of section .plt.sec:
 
 0+1d0 <func@plt>:
- +[a-f0-9]+:   f2 ff 25 a1 01 20 00    bnd jmp \*0x2001a1\(%rip\)        # 200378 <func>
+ +[a-f0-9]+:   f2 ff 25 21 0e 20 00    bnd jmp \*0x200e21\(%rip\)        # 200ff8 <func>
  +[a-f0-9]+:   90                      nop
 
 Disassembly of section .text:
index 3fdcdc0137fa4c9db6adab01bdbba8663716392c..bca7ccdc55b843240e8b471fa080e6b977cd995f 100644 (file)
@@ -59,8 +59,8 @@ Contents of the .eh_frame section:
 Disassembly of section .plt:
 
 0+1f0 <.plt>:
- +[a-f0-9]+:   ff 35 12 02 20 00       push   0x200212\(%rip\)        # 200408 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+:   f2 ff 25 13 02 20 00    bnd jmp \*0x200213\(%rip\)        # 200410 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+:   ff 35 ea 0d 20 00       push   0x200dea\(%rip\)        # 200fe0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+:   f2 ff 25 eb 0d 20 00    bnd jmp \*0x200deb\(%rip\)        # 200fe8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+:   0f 1f 00                nopl   \(%rax\)
  +[a-f0-9]+:   68 00 00 00 00          push   \$0x0
  +[a-f0-9]+:   f2 e9 e5 ff ff ff       bnd jmp 1f0 <func1@plt-0x20>
@@ -69,13 +69,13 @@ Disassembly of section .plt:
 Disassembly of section .plt.got:
 
 0+210 <func1@plt>:
- +[a-f0-9]+:   f2 ff 25 09 02 20 00    bnd jmp \*0x200209\(%rip\)        # 200420 <func1>
+ +[a-f0-9]+:   f2 ff 25 e1 0d 20 00    bnd jmp \*0x200de1\(%rip\)        # 200ff8 <func1>
  +[a-f0-9]+:   90                      nop
 
 Disassembly of section .plt.sec:
 
 0+218 <func2@plt>:
- +[a-f0-9]+:   f2 ff 25 f9 01 20 00    bnd jmp \*0x2001f9\(%rip\)        # 200418 <func2>
+ +[a-f0-9]+:   f2 ff 25 d1 0d 20 00    bnd jmp \*0x200dd1\(%rip\)        # 200ff0 <func2>
  +[a-f0-9]+:   90                      nop
 
 Disassembly of section .text:
@@ -83,5 +83,5 @@ Disassembly of section .text:
 0+220 <foo>:
  +[a-f0-9]+:   e8 eb ff ff ff          call   210 <func1@plt>
  +[a-f0-9]+:   e8 ee ff ff ff          call   218 <func2@plt>
- +[a-f0-9]+:   48 8b 05 ef 01 20 00    mov    0x2001ef\(%rip\),%rax        # 200420 <func1>
+ +[a-f0-9]+:   48 8b 05 c7 0d 20 00    mov    0x200dc7\(%rip\),%rax        # 200ff8 <func1>
 #pass
index dd625a130279fe7af709105f5041ba24634fdf07..f5d9727aa663a454099d5b4f38a33f0fc49681d1 100644 (file)
@@ -68,7 +68,7 @@ Disassembly of section .plt:
 Disassembly of section .plt.got:
 
 0+210 <func1@plt>:
- +[a-f0-9]+:   f2 ff 25 c9 01 20 00    bnd jmp \*0x2001c9\(%rip\)        # 2003e0 <func1>
+ +[a-f0-9]+:   f2 ff 25 e1 0d 20 00    bnd jmp \*0x200de1\(%rip\)        # 200ff8 <func1>
  +[a-f0-9]+:   90                      nop
 
 Disassembly of section .plt.sec:
@@ -82,5 +82,5 @@ Disassembly of section .text:
 0+220 <foo>:
  +[a-f0-9]+:   e8 eb ff ff ff          call   210 <func1@plt>
  +[a-f0-9]+:   e8 ee ff ff ff          call   218 <func2@plt>
- +[a-f0-9]+:   48 8b 05 af 01 20 00    mov    0x2001af\(%rip\),%rax        # 2003e0 <func1>
+ +[a-f0-9]+:   48 8b 05 c7 0d 20 00    mov    0x200dc7\(%rip\),%rax        # 200ff8 <func1>
 #pass