]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
x86: Correct unwind information for the second PLT
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 1 Sep 2017 13:11:54 +0000 (06:11 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 1 Sep 2017 15:31:24 +0000 (08:31 -0700)
For i386, generate unwind information for the second PLT.  For x32,
correct alignment of .eh_frame section for the second PLT.

bfd/

PR ld/22061
* elf32-i386.c (elf_i386_link_setup_gnu_properties): Create
.eh_frame section for the second PLT.
* elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Correct
alignment of .eh_frame section for the second PLT.

ld/

PR ld/22061
* testsuite/ld-i386/ibt-plt-1.d: Pass --hash-style=sysv to ld.
Updated.
* testsuite/ld-i386/ibt-plt-2a.d: Likewise.
* testsuite/ld-i386/ibt-plt-2c.d: Likewise.
* testsuite/ld-i386/ibt-plt-3a.d: Likewise.
* testsuite/ld-i386/ibt-plt-3c.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-1-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2a-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2c-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3a-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3c-x32.d: Likewise.
* testsuite/ld-i386/ibt-plt-2b.d: Pass --hash-style=sysv to ld
and dump unwind information.
* testsuite/ld-i386/ibt-plt-2d.d: Likewise.
* testsuite/ld-i386/ibt-plt-3b.d: Likewise.
* testsuite/ld-i386/ibt-plt-3d.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2b-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2b.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2d.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3b-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3b.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3d.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-1.d: Pass --hash-style=sysv to ld.
* testsuite/ld-x86-64/ibt-plt-2a.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2c.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3a.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3c.d: Likewise.

(cherry picked from commit e10c9c620c3335731bb0052987affdc40942fd71)

31 files changed:
bfd/ChangeLog
bfd/elf32-i386.c
bfd/elf64-x86-64.c
ld/ChangeLog
ld/testsuite/ld-i386/ibt-plt-1.d
ld/testsuite/ld-i386/ibt-plt-2a.d
ld/testsuite/ld-i386/ibt-plt-2b.d
ld/testsuite/ld-i386/ibt-plt-2c.d
ld/testsuite/ld-i386/ibt-plt-2d.d
ld/testsuite/ld-i386/ibt-plt-3a.d
ld/testsuite/ld-i386/ibt-plt-3b.d
ld/testsuite/ld-i386/ibt-plt-3c.d
ld/testsuite/ld-i386/ibt-plt-3d.d
ld/testsuite/ld-x86-64/ibt-plt-1-x32.d
ld/testsuite/ld-x86-64/ibt-plt-1.d
ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
ld/testsuite/ld-x86-64/ibt-plt-2a.d
ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d
ld/testsuite/ld-x86-64/ibt-plt-2b.d
ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d
ld/testsuite/ld-x86-64/ibt-plt-2c.d
ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d
ld/testsuite/ld-x86-64/ibt-plt-2d.d
ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d
ld/testsuite/ld-x86-64/ibt-plt-3a.d
ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d
ld/testsuite/ld-x86-64/ibt-plt-3b.d
ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d
ld/testsuite/ld-x86-64/ibt-plt-3c.d
ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d
ld/testsuite/ld-x86-64/ibt-plt-3d.d

index ce926fe727fa6bc1e5a0ce6145cadc5a47510804..93142541d0bba6e6a2bb2b183e1e44575477a76e 100644 (file)
@@ -1,3 +1,11 @@
+2017-09-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/22061
+       * elf32-i386.c (elf_i386_link_setup_gnu_properties): Create
+       .eh_frame section for the second PLT.
+       * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Correct
+       alignment of .eh_frame section for the second PLT.
+
 2017-09-01  Nick Clifton  <nickc@redhat.com>
 
        PR 22059
index b46ed2dd134f57ea958dc138f3fbf90928bd5b95..a2866c5d7fddc475fdd5ea03b80518427cc429a2 100644 (file)
@@ -7142,6 +7142,20 @@ elf_i386_link_setup_gnu_properties (struct bfd_link_info *info)
 
              htab->plt_got_eh_frame = sec;
            }
+
+         if (htab->plt_second != NULL)
+           {
+             sec = bfd_make_section_anyway_with_flags (dynobj,
+                                                       ".eh_frame",
+                                                       flags);
+             if (sec == NULL)
+               info->callbacks->einfo (_("%F: failed to create the second PLT .eh_frame section\n"));
+
+             if (!bfd_set_section_alignment (dynobj, sec, 2))
+               goto error_alignment;
+
+             htab->plt_second_eh_frame = sec;
+           }
        }
     }
 
index 821a7d9cbedf8fccda602b8d9b49e32e972eeed4..bc60012f1e621a6d6bfc2b8cfe50dccafafb9b4f 100644 (file)
@@ -7709,9 +7709,10 @@ error_alignment:
                                                        ".eh_frame",
                                                        flags);
              if (sec == NULL)
-               info->callbacks->einfo (_("%F: failed to create BND PLT .eh_frame section\n"));
+               info->callbacks->einfo (_("%F: failed to create the second PLT .eh_frame section\n"));
 
-             if (!bfd_set_section_alignment (dynobj, sec, 3))
+             if (!bfd_set_section_alignment (dynobj, sec,
+                                             ABI_64_P (dynobj) ? 3 : 2))
                goto error_alignment;
 
              htab->plt_second_eh_frame = sec;
index 23bdba42bf882c8d54258b48e823df8d5b3de8b3..f4335cfe26421e6f6d972f2d47b1feffaf107244 100644 (file)
@@ -1,3 +1,36 @@
+2017-09-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/22061
+       * testsuite/ld-i386/ibt-plt-1.d: Pass --hash-style=sysv to ld.
+       Updated.
+       * testsuite/ld-i386/ibt-plt-2a.d: Likewise.
+       * testsuite/ld-i386/ibt-plt-2c.d: Likewise.
+       * testsuite/ld-i386/ibt-plt-3a.d: Likewise.
+       * testsuite/ld-i386/ibt-plt-3c.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-1-x32.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-2a-x32.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-2c-x32.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-3a-x32.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-3c-x32.d: Likewise.
+       * testsuite/ld-i386/ibt-plt-2b.d: Pass --hash-style=sysv to ld
+       and dump unwind information.
+       * testsuite/ld-i386/ibt-plt-2d.d: Likewise.
+       * testsuite/ld-i386/ibt-plt-3b.d: Likewise.
+       * testsuite/ld-i386/ibt-plt-3d.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-2b-x32.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-2b.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-2d.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-3b-x32.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-3b.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-3d.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-1.d: Pass --hash-style=sysv to ld.
+       * testsuite/ld-x86-64/ibt-plt-2a.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-2c.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-3a.d: Likewise.
+       * testsuite/ld-x86-64/ibt-plt-3c.d: Likewise.
+
 2017-08-30  Maciej W. Rozycki  <macro@imgtec.com>
 
        * testsuite/ld-mips-elf/bal-jalx-addend-micromips.d: New test.
index 1c905915e49854c778de61acbfb00b97b2ef58cc..a131675328642cccbe810b9f1a797472666c3ba9 100644 (file)
@@ -1,5 +1,5 @@
 #as: --32
-#ld: -shared -m elf_i386
+#ld: -shared -m elf_i386 --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
@@ -37,7 +37,7 @@ Disassembly of section .text:
 0+200 <foo>:
  +[a-f0-9]+:   53                      push   %ebx
  +[a-f0-9]+:   e8 18 00 00 00          call   21e <__x86.get_pc_thunk.bx>
- +[a-f0-9]+:   81 c3 22 11 00 00       add    \$0x1122,%ebx
+ +[a-f0-9]+:   81 c3 36 11 00 00       add    \$0x1136,%ebx
  +[a-f0-9]+:   83 ec 08                sub    \$0x8,%esp
  +[a-f0-9]+:   e8 dc ff ff ff          call   1f0 <bar2@plt>
  +[a-f0-9]+:   e8 c7 ff ff ff          call   1e0 <bar1@plt>
index 4881dea1c47ec641aa23ff7c442b4e6006a3aab5..13c6949e0d49e926823800629901c3a4bbadb5bd 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-2.s
 #as: --32
-#ld: -shared -m elf_i386 -z ibtplt
+#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
@@ -38,7 +38,7 @@ Disassembly of section .text:
 0+200 <foo>:
  +[a-f0-9]+:   53                      push   %ebx
  +[a-f0-9]+:   e8 18 00 00 00          call   21e <__x86.get_pc_thunk.bx>
- +[a-f0-9]+:   81 c3 22 11 00 00       add    \$0x1122,%ebx
+ +[a-f0-9]+:   81 c3 36 11 00 00       add    \$0x1136,%ebx
  +[a-f0-9]+:   83 ec 08                sub    \$0x8,%esp
  +[a-f0-9]+:   e8 dc ff ff ff          call   1f0 <bar2@plt>
  +[a-f0-9]+:   e8 c7 ff ff ff          call   1e0 <bar1@plt>
index 740b889b98dacd2861d9c9027c4f7b80a1184074..90541f19f6d8f60ae6923b12af4839633e09587d 100644 (file)
@@ -1,7 +1,52 @@
 #source: ibt-plt-2.s
 #as: --32
-#ld: -shared -m elf_i386 -z ibtplt
-#readelf: -n
+#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv
+#readelf: -n -wf
+
+Contents of the .eh_frame section:
+
+0+ 00000014 00000000 CIE
+  Version:               1
+  Augmentation:          "zR"
+  Code alignment factor: 1
+  Data alignment factor: -4
+  Return address column: 8
+  Augmentation data:     1b
+
+  DW_CFA_def_cfa: r4 \(esp\) ofs 4
+  DW_CFA_offset: r8 \(eip\) at cfa-4
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+18 0000001c 0000001c FDE cie=00000000 pc=00000200..0000021e
+  DW_CFA_advance_loc: 1 to 00000201
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_offset: r3 \(ebx\) at cfa-8
+  DW_CFA_advance_loc: 14 to 0000020f
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 13 to 0000021c
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_advance_loc: 1 to 0000021d
+  DW_CFA_restore: r3 \(ebx\)
+  DW_CFA_def_cfa_offset: 4
+
+0+38 00000010 0000003c FDE cie=00000000 pc=0000021e..00000222
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+4c 00000020 00000050 FDE cie=00000000 pc=000001b0..000001e0
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_advance_loc: 6 to 000001b6
+  DW_CFA_def_cfa_offset: 12
+  DW_CFA_advance_loc: 10 to 000001c0
+  DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
+
+0+70 00000010 00000074 FDE cie=00000000 pc=000001e0..00000200
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
 
 Displaying notes found in: .note.gnu.property
   Owner                 Data size      Description
index 2ba1d78c54b09ced93cf7bcbee09f3588730d87e..63f442722125efea9cfbfe9a3eeb1eb70459d884 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-2.s
 #as: --32
-#ld: -shared -m elf_i386 -z ibt
+#ld: -shared -m elf_i386 -z ibt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
@@ -38,7 +38,7 @@ Disassembly of section .text:
 0+200 <foo>:
  +[a-f0-9]+:   53                      push   %ebx
  +[a-f0-9]+:   e8 18 00 00 00          call   21e <__x86.get_pc_thunk.bx>
- +[a-f0-9]+:   81 c3 22 11 00 00       add    \$0x1122,%ebx
+ +[a-f0-9]+:   81 c3 36 11 00 00       add    \$0x1136,%ebx
  +[a-f0-9]+:   83 ec 08                sub    \$0x8,%esp
  +[a-f0-9]+:   e8 dc ff ff ff          call   1f0 <bar2@plt>
  +[a-f0-9]+:   e8 c7 ff ff ff          call   1e0 <bar1@plt>
index 3e02a62464eebaec0cd2f7cea465f034971da36a..f57c7e84e340ead796b5241ef91aefdda4f6062e 100644 (file)
@@ -1,7 +1,52 @@
 #source: ibt-plt-2.s
 #as: --32
-#ld: -shared -m elf_i386 -z ibt
-#readelf: -n
+#ld: -shared -m elf_i386 -z ibt --hash-style=sysv
+#readelf: -n -wf
+
+Contents of the .eh_frame section:
+
+0+ 00000014 00000000 CIE
+  Version:               1
+  Augmentation:          "zR"
+  Code alignment factor: 1
+  Data alignment factor: -4
+  Return address column: 8
+  Augmentation data:     1b
+
+  DW_CFA_def_cfa: r4 \(esp\) ofs 4
+  DW_CFA_offset: r8 \(eip\) at cfa-4
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+18 0000001c 0000001c FDE cie=00000000 pc=00000200..0000021e
+  DW_CFA_advance_loc: 1 to 00000201
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_offset: r3 \(ebx\) at cfa-8
+  DW_CFA_advance_loc: 14 to 0000020f
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 13 to 0000021c
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_advance_loc: 1 to 0000021d
+  DW_CFA_restore: r3 \(ebx\)
+  DW_CFA_def_cfa_offset: 4
+
+0+38 00000010 0000003c FDE cie=00000000 pc=0000021e..00000222
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+4c 00000020 00000050 FDE cie=00000000 pc=000001b0..000001e0
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_advance_loc: 6 to 000001b6
+  DW_CFA_def_cfa_offset: 12
+  DW_CFA_advance_loc: 10 to 000001c0
+  DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
+
+0+70 00000010 00000074 FDE cie=00000000 pc=000001e0..00000200
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
 
 Displaying notes found in: .note.gnu.property
   Owner                 Data size      Description
index c2ce3fd6fcd822ae64de466d9f96b26f59d18223..5455c928eb7a754b5ed5cfb7522dc14ff6312683 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-3.s
 #as: --32
-#ld: -shared -m elf_i386 -z ibtplt
+#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
@@ -38,7 +38,7 @@ Disassembly of section .text:
 0+1e0 <foo>:
  +[a-f0-9]+:   53                      push   %ebx
  +[a-f0-9]+:   e8 18 00 00 00          call   1fe <__x86.get_pc_thunk.bx>
- +[a-f0-9]+:   81 c3 06 11 00 00       add    \$0x1106,%ebx
+ +[a-f0-9]+:   81 c3 1a 11 00 00       add    \$0x111a,%ebx
  +[a-f0-9]+:   83 ec 08                sub    \$0x8,%esp
  +[a-f0-9]+:   e8 dc ff ff ff          call   1d0 <bar2@plt>
  +[a-f0-9]+:   e8 c7 ff ff ff          call   1c0 <bar1@plt>
index d9b5be231bccc3c43c0e87aa21885f3a5e7b8584..6e6637ff9a23dcf266753292d1e404b8d48b87e0 100644 (file)
@@ -1,5 +1,49 @@
 #source: ibt-plt-3.s
 #as: --32
-#ld: -shared -m elf_i386 -z ibtplt
-#readelf: -n
+#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv
+#readelf: -wf -n
+
+Contents of the .eh_frame section:
+
+0+ 00000014 00000000 CIE
+  Version:               1
+  Augmentation:          "zR"
+  Code alignment factor: 1
+  Data alignment factor: -4
+  Return address column: 8
+  Augmentation data:     1b
+
+  DW_CFA_def_cfa: r4 \(esp\) ofs 4
+  DW_CFA_offset: r8 \(eip\) at cfa-4
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+18 0000001c 0000001c FDE cie=00000000 pc=000001e0..000001fe
+  DW_CFA_advance_loc: 1 to 000001e1
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_offset: r3 \(ebx\) at cfa-8
+  DW_CFA_advance_loc: 14 to 000001ef
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 13 to 000001fc
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_advance_loc: 1 to 000001fd
+  DW_CFA_restore: r3 \(ebx\)
+  DW_CFA_def_cfa_offset: 4
+
+0+38 00000010 0000003c FDE cie=00000000 pc=000001fe..00000202
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+4c 00000020 00000050 FDE cie=00000000 pc=00000190..000001c0
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_advance_loc: 6 to 00000196
+  DW_CFA_def_cfa_offset: 12
+  DW_CFA_advance_loc: 10 to 000001a0
+  DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
+
+0+70 00000010 00000074 FDE cie=00000000 pc=000001c0..000001e0
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
 
index c2ce3fd6fcd822ae64de466d9f96b26f59d18223..5455c928eb7a754b5ed5cfb7522dc14ff6312683 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-3.s
 #as: --32
-#ld: -shared -m elf_i386 -z ibtplt
+#ld: -shared -m elf_i386 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
@@ -38,7 +38,7 @@ Disassembly of section .text:
 0+1e0 <foo>:
  +[a-f0-9]+:   53                      push   %ebx
  +[a-f0-9]+:   e8 18 00 00 00          call   1fe <__x86.get_pc_thunk.bx>
- +[a-f0-9]+:   81 c3 06 11 00 00       add    \$0x1106,%ebx
+ +[a-f0-9]+:   81 c3 1a 11 00 00       add    \$0x111a,%ebx
  +[a-f0-9]+:   83 ec 08                sub    \$0x8,%esp
  +[a-f0-9]+:   e8 dc ff ff ff          call   1d0 <bar2@plt>
  +[a-f0-9]+:   e8 c7 ff ff ff          call   1c0 <bar1@plt>
index 3cf159aba80dc8192cbecd8a50a4ad3a2953c209..1ef91db7fce6dc9984644d6782dcb312f7a7bc4e 100644 (file)
@@ -1,7 +1,52 @@
 #source: ibt-plt-3.s
 #as: --32
-#ld: -shared -m elf_i386 -z ibt
-#readelf: -n
+#ld: -shared -m elf_i386 -z ibt --hash-style=sysv
+#readelf: -wf -n
+
+Contents of the .eh_frame section:
+
+0+ 00000014 00000000 CIE
+  Version:               1
+  Augmentation:          "zR"
+  Code alignment factor: 1
+  Data alignment factor: -4
+  Return address column: 8
+  Augmentation data:     1b
+
+  DW_CFA_def_cfa: r4 \(esp\) ofs 4
+  DW_CFA_offset: r8 \(eip\) at cfa-4
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+18 0000001c 0000001c FDE cie=00000000 pc=00000200..0000021e
+  DW_CFA_advance_loc: 1 to 00000201
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_offset: r3 \(ebx\) at cfa-8
+  DW_CFA_advance_loc: 14 to 0000020f
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 13 to 0000021c
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_advance_loc: 1 to 0000021d
+  DW_CFA_restore: r3 \(ebx\)
+  DW_CFA_def_cfa_offset: 4
+
+0+38 00000010 0000003c FDE cie=00000000 pc=0000021e..00000222
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+4c 00000020 00000050 FDE cie=00000000 pc=000001b0..000001e0
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_advance_loc: 6 to 000001b6
+  DW_CFA_def_cfa_offset: 12
+  DW_CFA_advance_loc: 10 to 000001c0
+  DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
+
+0+70 00000010 00000074 FDE cie=00000000 pc=000001e0..00000200
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
 
 Displaying notes found in: .note.gnu.property
   Owner                 Data size      Description
index 6147ab49fd7ff003ae7937098108e4e4c2d2c9ab..665eaa5559c05f9be8e0a65dc980007d10a53300 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-1.s
 #as: --x32
-#ld: -shared -m elf32_x86_64
+#ld: -shared -m elf32_x86_64 --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
@@ -9,8 +9,8 @@
 Disassembly of section .plt:
 
 0+1c0 <.plt>:
- +[a-f0-9]+:   ff 35 6a 01 20 00       pushq  0x20016a\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+:   ff 25 6c 01 20 00       jmpq   \*0x20016c\(%rip\)        # 200338 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+:   ff 35 62 01 20 00       pushq  0x200162\(%rip\)        # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+:   ff 25 64 01 20 00       jmpq   \*0x200164\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+:   0f 1f 40 00             nopl   0x0\(%rax\)
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
  +[a-f0-9]+:   68 00 00 00 00          pushq  \$0x0
@@ -25,12 +25,12 @@ Disassembly of section .plt.sec:
 
 0+1f0 <bar1@plt>:
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
- +[a-f0-9]+:   ff 25 46 01 20 00       jmpq   \*0x200146\(%rip\)        # 200340 <bar1>
+ +[a-f0-9]+:   ff 25 3e 01 20 00       jmpq   \*0x20013e\(%rip\)        # 200338 <bar1>
  +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%rax,%rax,1\)
 
 0+200 <bar2@plt>:
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
- +[a-f0-9]+:   ff 25 3e 01 20 00       jmpq   \*0x20013e\(%rip\)        # 200348 <bar2>
+ +[a-f0-9]+:   ff 25 36 01 20 00       jmpq   \*0x200136\(%rip\)        # 200340 <bar2>
  +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
index dbec3ede87b37b291c48546b855d753d9e377a38..8c36cfbde18ec202f522a054807ed9c62acc74c9 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-1.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64
+#ld: -shared -m elf_x86_64 --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
index df9dc8e3d71fc6c9461e1c38beb46dacc2ff6cbc..3d934b5e6787915195b366725f534ba75c41d37b 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-2.s
 #as: --x32
-#ld: -shared -m elf32_x86_64 -z ibtplt
+#ld: -shared -m elf32_x86_64 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
@@ -9,8 +9,8 @@
 Disassembly of section .plt:
 
 0+1c0 <.plt>:
- +[a-f0-9]+:   ff 35 6a 01 20 00       pushq  0x20016a\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+:   ff 25 6c 01 20 00       jmpq   \*0x20016c\(%rip\)        # 200338 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+:   ff 35 62 01 20 00       pushq  0x200162\(%rip\)        # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+:   ff 25 64 01 20 00       jmpq   \*0x200164\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+:   0f 1f 40 00             nopl   0x0\(%rax\)
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
  +[a-f0-9]+:   68 00 00 00 00          pushq  \$0x0
@@ -25,12 +25,12 @@ Disassembly of section .plt.sec:
 
 0+1f0 <bar1@plt>:
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
- +[a-f0-9]+:   ff 25 46 01 20 00       jmpq   \*0x200146\(%rip\)        # 200340 <bar1>
+ +[a-f0-9]+:   ff 25 3e 01 20 00       jmpq   \*0x20013e\(%rip\)        # 200338 <bar1>
  +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%rax,%rax,1\)
 
 0+200 <bar2@plt>:
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
- +[a-f0-9]+:   ff 25 3e 01 20 00       jmpq   \*0x20013e\(%rip\)        # 200348 <bar2>
+ +[a-f0-9]+:   ff 25 36 01 20 00       jmpq   \*0x200136\(%rip\)        # 200340 <bar2>
  +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
index 0e4f424d3f47f2577f3d1f2613f4689296e8d2ec..4bdf8bddd9a405d6166a53cb61b762e8ee031740 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-2.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibtplt
+#ld: -shared -m elf_x86_64 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
index e9e5638ea3e4e56eabe014a3c11b6c0b5e9af41d..54a708d458b21e9444a0ad4daf48f32b8db914ef 100644 (file)
@@ -1,7 +1,42 @@
 #source: ibt-plt-2.s
 #as: --x32
-#ld: -shared -m elf32_x86_64 -z ibtplt
-#readelf: -n
+#ld: -shared -m elf32_x86_64 -z ibtplt --hash-style=sysv
+#readelf: -n -wf
+
+Contents of the .eh_frame section:
+
+0+ 00000014 00000000 CIE
+  Version:               1
+  Augmentation:          "zR"
+  Code alignment factor: 1
+  Data alignment factor: -8
+  Return address column: 16
+  Augmentation data:     1b
+
+  DW_CFA_def_cfa: r7 \(rsp\) ofs 8
+  DW_CFA_offset: r16 \(rip\) at cfa-8
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+18 00000014 0000001c FDE cie=00000000 pc=00000210..00000222
+  DW_CFA_advance_loc: 4 to 00000214
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 9 to 0000021d
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_nop
+
+0+30 00000020 00000034 FDE cie=00000000 pc=000001c0..000001f0
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 6 to 000001c6
+  DW_CFA_def_cfa_offset: 24
+  DW_CFA_advance_loc: 10 to 000001d0
+  DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
+
+0+54 00000010 00000058 FDE cie=00000000 pc=000001f0..00000210
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
 
 Displaying notes found in: .note.gnu.property
   Owner                 Data size      Description
index 604db8274590320cfdb1625c9549e7a0f5a6bd51..9cd1462d5ead3c20373a402595ef60621f30b346 100644 (file)
@@ -1,7 +1,46 @@
 #source: ibt-plt-2.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibtplt
-#readelf: -n
+#ld: -shared -m elf_x86_64 -z ibtplt --hash-style=sysv
+#readelf: -wf -n
+
+Contents of the .eh_frame section:
+
+0+ 0000000000000014 00000000 CIE
+  Version:               1
+  Augmentation:          "zR"
+  Code alignment factor: 1
+  Data alignment factor: -8
+  Return address column: 16
+  Augmentation data:     1b
+
+  DW_CFA_def_cfa: r7 \(rsp\) ofs 8
+  DW_CFA_offset: r16 \(rip\) at cfa-8
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002e0..00000000000002f2
+  DW_CFA_advance_loc: 4 to 00000000000002e4
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 9 to 00000000000002ed
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_nop
+
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000290..00000000000002c0
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 6 to 0000000000000296
+  DW_CFA_def_cfa_offset: 24
+  DW_CFA_advance_loc: 10 to 00000000000002a0
+  DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000002c0..00000000000002e0
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
 
 Displaying notes found in: .note.gnu.property
   Owner                 Data size      Description
index e908804cfab6785cc32a19279a4fcb528ba3d53c..88d6da8995e1acdacb114bd7d0fcbfb795c9cc24 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-2.s
 #as: --x32
-#ld: -shared -m elf32_x86_64 -z ibt
+#ld: -shared -m elf32_x86_64 -z ibt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
@@ -9,8 +9,8 @@
 Disassembly of section .plt:
 
 0+1c0 <.plt>:
- +[a-f0-9]+:   ff 35 6a 01 20 00       pushq  0x20016a\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+:   ff 25 6c 01 20 00       jmpq   \*0x20016c\(%rip\)        # 200338 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+:   ff 35 62 01 20 00       pushq  0x200162\(%rip\)        # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+:   ff 25 64 01 20 00       jmpq   \*0x200164\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+:   0f 1f 40 00             nopl   0x0\(%rax\)
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
  +[a-f0-9]+:   68 00 00 00 00          pushq  \$0x0
@@ -25,12 +25,12 @@ Disassembly of section .plt.sec:
 
 0+1f0 <bar1@plt>:
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
- +[a-f0-9]+:   ff 25 46 01 20 00       jmpq   \*0x200146\(%rip\)        # 200340 <bar1>
+ +[a-f0-9]+:   ff 25 3e 01 20 00       jmpq   \*0x20013e\(%rip\)        # 200338 <bar1>
  +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%rax,%rax,1\)
 
 0+200 <bar2@plt>:
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
- +[a-f0-9]+:   ff 25 3e 01 20 00       jmpq   \*0x20013e\(%rip\)        # 200348 <bar2>
+ +[a-f0-9]+:   ff 25 36 01 20 00       jmpq   \*0x200136\(%rip\)        # 200340 <bar2>
  +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
index 0ef1131271f39072a4e2a1f866d2a2a668c96755..7502d83bb66cace4e6f0062df1e895ff9da122e8 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-2.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibt
+#ld: -shared -m elf_x86_64 -z ibt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
index b3be9048d88d3c6b538f9c61ba26c913296ef69f..f22154a0fd1f32b5c9aff2ca617c45feeb22bd1d 100644 (file)
@@ -1,7 +1,42 @@
 #source: ibt-plt-2.s
 #as: --x32
-#ld: -shared -m elf32_x86_64 -z ibt
-#readelf: -n
+#ld: -shared -m elf32_x86_64 -z ibt --hash-style=sysv
+#readelf: -n -wf
+
+Contents of the .eh_frame section:
+
+0+ 00000014 00000000 CIE
+  Version:               1
+  Augmentation:          "zR"
+  Code alignment factor: 1
+  Data alignment factor: -8
+  Return address column: 16
+  Augmentation data:     1b
+
+  DW_CFA_def_cfa: r7 \(rsp\) ofs 8
+  DW_CFA_offset: r16 \(rip\) at cfa-8
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+18 00000014 0000001c FDE cie=00000000 pc=00000210..00000222
+  DW_CFA_advance_loc: 4 to 00000214
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 9 to 0000021d
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_nop
+
+0+30 00000020 00000034 FDE cie=00000000 pc=000001c0..000001f0
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 6 to 000001c6
+  DW_CFA_def_cfa_offset: 24
+  DW_CFA_advance_loc: 10 to 000001d0
+  DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
+
+0+54 00000010 00000058 FDE cie=00000000 pc=000001f0..00000210
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
 
 Displaying notes found in: .note.gnu.property
   Owner                 Data size      Description
index 7226b695d465eaae0b637fda23edf45af84c9d6a..779f754090db4289da205a829ff4b81507d1c2b5 100644 (file)
@@ -1,7 +1,46 @@
 #source: ibt-plt-2.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibt
-#readelf: -n
+#ld: -shared -m elf_x86_64 -z ibt --hash-style=sysv
+#readelf: -wf -n
+
+Contents of the .eh_frame section:
+
+0+ 0000000000000014 00000000 CIE
+  Version:               1
+  Augmentation:          "zR"
+  Code alignment factor: 1
+  Data alignment factor: -8
+  Return address column: 16
+  Augmentation data:     1b
+
+  DW_CFA_def_cfa: r7 \(rsp\) ofs 8
+  DW_CFA_offset: r16 \(rip\) at cfa-8
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002e0..00000000000002f2
+  DW_CFA_advance_loc: 4 to 00000000000002e4
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 9 to 00000000000002ed
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_nop
+
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000290..00000000000002c0
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 6 to 0000000000000296
+  DW_CFA_def_cfa_offset: 24
+  DW_CFA_advance_loc: 10 to 00000000000002a0
+  DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000002c0..00000000000002e0
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
 
 Displaying notes found in: .note.gnu.property
   Owner                 Data size      Description
index 0f7835d966e06b8f7e99fbea16b461308e3c9a16..42136890cc37ced93a9e288a08ffe8519580c105 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-3.s
 #as: --x32
-#ld: -shared -m elf32_x86_64 -z ibtplt
+#ld: -shared -m elf32_x86_64 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
@@ -9,8 +9,8 @@
 Disassembly of section .plt:
 
 0+1a0 <.plt>:
- +[a-f0-9]+:   ff 35 52 01 20 00       pushq  0x200152\(%rip\)        # 2002f8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+:   ff 25 54 01 20 00       jmpq   \*0x200154\(%rip\)        # 200300 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+:   ff 35 4a 01 20 00       pushq  0x20014a\(%rip\)        # 2002f0 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+:   ff 25 4c 01 20 00       jmpq   \*0x20014c\(%rip\)        # 2002f8 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+:   0f 1f 40 00             nopl   0x0\(%rax\)
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
  +[a-f0-9]+:   68 00 00 00 00          pushq  \$0x0
@@ -25,12 +25,12 @@ Disassembly of section .plt.sec:
 
 0+1d0 <bar1@plt>:
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
- +[a-f0-9]+:   ff 25 2e 01 20 00       jmpq   \*0x20012e\(%rip\)        # 200308 <bar1>
+ +[a-f0-9]+:   ff 25 26 01 20 00       jmpq   \*0x200126\(%rip\)        # 200300 <bar1>
  +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%rax,%rax,1\)
 
 0+1e0 <bar2@plt>:
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
- +[a-f0-9]+:   ff 25 26 01 20 00       jmpq   \*0x200126\(%rip\)        # 200310 <bar2>
+ +[a-f0-9]+:   ff 25 1e 01 20 00       jmpq   \*0x20011e\(%rip\)        # 200308 <bar2>
  +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
index b8f2ebc04ef767f4dcce3b3653ab519afa0c31ed..7ee2f175ffcdc9dfcd902b5c1fdc439ea0938f47 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-3.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibtplt
+#ld: -shared -m elf_x86_64 -z ibtplt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
index fb0a834be5ae797134f98a8a66b873b8cab2582d..e55406f7d872d8bb37e882a7006e7087a6276f9f 100644 (file)
@@ -1,5 +1,39 @@
 #source: ibt-plt-3.s
 #as: --x32
-#ld: -shared -m elf32_x86_64 -z ibtplt
-#readelf: -n
+#ld: -shared -m elf32_x86_64 -z ibtplt --hash-style=sysv
+#readelf: -wf -n
+
+Contents of the .eh_frame section:
+
+0+ 00000014 00000000 CIE
+  Version:               1
+  Augmentation:          "zR"
+  Code alignment factor: 1
+  Data alignment factor: -8
+  Return address column: 16
+  Augmentation data:     1b
+
+  DW_CFA_def_cfa: r7 \(rsp\) ofs 8
+  DW_CFA_offset: r16 \(rip\) at cfa-8
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+18 00000014 0000001c FDE cie=00000000 pc=000001f0..00000202
+  DW_CFA_advance_loc: 4 to 000001f4
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 9 to 000001fd
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_nop
+
+0+30 00000020 00000034 FDE cie=00000000 pc=000001a0..000001d0
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 6 to 000001a6
+  DW_CFA_def_cfa_offset: 24
+  DW_CFA_advance_loc: 10 to 000001b0
+  DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
+
+0+54 00000010 00000058 FDE cie=00000000 pc=000001d0..000001f0
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
 
index 5a3843bc3abb703e1f1c31e32f74f94d219e1734..220371da28decd518b91e80854470478929bdea0 100644 (file)
@@ -1,5 +1,43 @@
 #source: ibt-plt-3.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibtplt
-#readelf: -n
+#ld: -shared -m elf_x86_64 -z ibtplt --hash-style=sysv
+#readelf: -wf -n
+
+Contents of the .eh_frame section:
+
+0+ 0000000000000014 00000000 CIE
+  Version:               1
+  Augmentation:          "zR"
+  Code alignment factor: 1
+  Data alignment factor: -8
+  Return address column: 16
+  Augmentation data:     1b
+
+  DW_CFA_def_cfa: r7 \(rsp\) ofs 8
+  DW_CFA_offset: r16 \(rip\) at cfa-8
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002a0..00000000000002b2
+  DW_CFA_advance_loc: 4 to 00000000000002a4
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 9 to 00000000000002ad
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_nop
+
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000250..0000000000000280
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 6 to 0000000000000256
+  DW_CFA_def_cfa_offset: 24
+  DW_CFA_advance_loc: 10 to 0000000000000260
+  DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000280..00000000000002a0
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
 
index 234944ddc4a73b1dc31c6deaa8afe11f595de345..2f70d04f722adc5290b3f27da3684a1b443020a5 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-3.s
 #as: --x32
-#ld: -shared -m elf32_x86_64 -z ibt
+#ld: -shared -m elf32_x86_64 -z ibt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
@@ -9,8 +9,8 @@
 Disassembly of section .plt:
 
 0+1c0 <.plt>:
- +[a-f0-9]+:   ff 35 6a 01 20 00       pushq  0x20016a\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+:   ff 25 6c 01 20 00       jmpq   \*0x20016c\(%rip\)        # 200338 <_GLOBAL_OFFSET_TABLE_\+0x10>
+ +[a-f0-9]+:   ff 35 62 01 20 00       pushq  0x200162\(%rip\)        # 200328 <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+:   ff 25 64 01 20 00       jmpq   \*0x200164\(%rip\)        # 200330 <_GLOBAL_OFFSET_TABLE_\+0x10>
  +[a-f0-9]+:   0f 1f 40 00             nopl   0x0\(%rax\)
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
  +[a-f0-9]+:   68 00 00 00 00          pushq  \$0x0
@@ -25,12 +25,12 @@ Disassembly of section .plt.sec:
 
 0+1f0 <bar1@plt>:
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
- +[a-f0-9]+:   ff 25 46 01 20 00       jmpq   \*0x200146\(%rip\)        # 200340 <bar1>
+ +[a-f0-9]+:   ff 25 3e 01 20 00       jmpq   \*0x20013e\(%rip\)        # 200338 <bar1>
  +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%rax,%rax,1\)
 
 0+200 <bar2@plt>:
  +[a-f0-9]+:   f3 0f 1e fa             endbr64 
- +[a-f0-9]+:   ff 25 3e 01 20 00       jmpq   \*0x20013e\(%rip\)        # 200348 <bar2>
+ +[a-f0-9]+:   ff 25 36 01 20 00       jmpq   \*0x200136\(%rip\)        # 200340 <bar2>
  +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%rax,%rax,1\)
 
 Disassembly of section .text:
index b299f22b6fedc58381b197f087ce0acea2f19c58..d0665aef6b9d53b4f08d77a0d8e5c97c5d89bacc 100644 (file)
@@ -1,6 +1,6 @@
 #source: ibt-plt-3.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibt
+#ld: -shared -m elf_x86_64 -z ibt --hash-style=sysv
 #objdump: -dw
 
 .*: +file format .*
index 447e8116a93afeec9d628132a24d4d9df447374e..ceaf75a6490464ab0f2d4146f518141d9ef3676f 100644 (file)
@@ -1,7 +1,42 @@
 #source: ibt-plt-3.s
 #as: --x32
-#ld: -shared -m elf32_x86_64 -z ibt
-#readelf: -n
+#ld: -shared -m elf32_x86_64 -z ibt --hash-style=sysv
+#readelf: -wf -n
+
+Contents of the .eh_frame section:
+
+0+ 00000014 00000000 CIE
+  Version:               1
+  Augmentation:          "zR"
+  Code alignment factor: 1
+  Data alignment factor: -8
+  Return address column: 16
+  Augmentation data:     1b
+
+  DW_CFA_def_cfa: r7 \(rsp\) ofs 8
+  DW_CFA_offset: r16 \(rip\) at cfa-8
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+18 00000014 0000001c FDE cie=00000000 pc=00000210..00000222
+  DW_CFA_advance_loc: 4 to 00000214
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 9 to 0000021d
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_nop
+
+0+30 00000020 00000034 FDE cie=00000000 pc=000001c0..000001f0
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 6 to 000001c6
+  DW_CFA_def_cfa_offset: 24
+  DW_CFA_advance_loc: 10 to 000001d0
+  DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
+
+0+54 00000010 00000058 FDE cie=00000000 pc=000001f0..00000210
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
 
 Displaying notes found in: .note.gnu.property
   Owner                 Data size      Description
index 342626a4722c1a944328dccec4e9667f497601a8..d5cade017bb0cc952c82b808c83bdb40e20839a8 100644 (file)
@@ -1,7 +1,46 @@
 #source: ibt-plt-3.s
 #as: --64 -defsym __64_bit__=1
-#ld: -shared -m elf_x86_64 -z ibt
-#readelf: -n
+#ld: -shared -m elf_x86_64 -z ibt --hash-style=sysv
+#readelf: -wf -n
+
+Contents of the .eh_frame section:
+
+0+ 0000000000000014 00000000 CIE
+  Version:               1
+  Augmentation:          "zR"
+  Code alignment factor: 1
+  Data alignment factor: -8
+  Return address column: 16
+  Augmentation data:     1b
+
+  DW_CFA_def_cfa: r7 \(rsp\) ofs 8
+  DW_CFA_offset: r16 \(rip\) at cfa-8
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000002e0..00000000000002f2
+  DW_CFA_advance_loc: 4 to 00000000000002e4
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 9 to 00000000000002ed
+  DW_CFA_def_cfa_offset: 8
+  DW_CFA_nop
+
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000290..00000000000002c0
+  DW_CFA_def_cfa_offset: 16
+  DW_CFA_advance_loc: 6 to 0000000000000296
+  DW_CFA_def_cfa_offset: 24
+  DW_CFA_advance_loc: 10 to 00000000000002a0
+  DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=00000000000002c0..00000000000002e0
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
 
 Displaying notes found in: .note.gnu.property
   Owner                 Data size      Description