aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2018-12-14 04:55:08 -0800
committerH.J. Lu <hjl.tools@gmail.com>2018-12-14 04:55:34 -0800
commit0a59decbb81676ac30deede1bb6b6e241cd75502 (patch)
treeb5ca2b75f655add59aa82a500a86e3a511c081b1 /ld
parent0681fa5ee5a1059b9415c4b0408030fd25bd26dd (diff)
downloadgdb-0a59decbb81676ac30deede1bb6b6e241cd75502.zip
gdb-0a59decbb81676ac30deede1bb6b6e241cd75502.tar.gz
gdb-0a59decbb81676ac30deede1bb6b6e241cd75502.tar.bz2
elf: Add PT_GNU_PROPERTY segment type
Linkers group input note sections with the same name into one output note section with the same name. One output note section is placed in one PT_NOTE segment. New linkers merge all input .note.gnu.property sections into one output .note.gnu.property section with a single NT_GNU_PROPERTY_TYPE_0 note in a single PT_NOTE segment. Since older linkers treat input .note.gnu.property section as a generic note section and just concatenate all input .note.gnu.property sections into one output .note.gnu.property section without merging them, we may see one or more NT_GNU_PROPERTY_TYPE_0 notes in PT_NOTE segment, which are invalid. GNU_PROPERTY_X86_UINT32_VALID was defined to address this issue such that linker sets the bit for non-relocatable outputs. But it isn't sufficient: 1. It doesn't cover generic properties. 2. When -mx86-used-note=yes is passed to x86 assembler, the GNU_PROPERTY_X86_UINT32_VALID bit is set in GNU_PROPERTY_X86_ISA_1_USED property in object file and older linkers generate invalid NT_GNU_PROPERTY_TYPE_0 notes with the GNU_PROPERTY_X86_UINT32_VALID bit set. I am proposing the following changes: 1. Add PT_GNU_PROPERTY segment type: # define PT_GNU_PROPERTY (PT_LOOS + 0x474e553) which covers .note.gnu.property section. 2. Remove GNU_PROPERTY_X86_UINT32_VALID. bfd/ PR ld/23900 * elf.c (get_program_header_size): Add a PT_GNU_PROPERTY segment for NOTE_GNU_PROPERTY_SECTION_NAME. (_bfd_elf_map_sections_to_segments): Create a PT_GNU_PROPERTY segment for NOTE_GNU_PROPERTY_SECTION_NAME. * elfxx-x86.c (_bfd_elf_link_setup_gnu_properties): Don't set GNU_PROPERTY_X86_UINT32_VALID. binutils/ PR ld/23900 * readelf.c (get_segment_type): Support PT_GNU_PROPERTY. (decode_x86_isa): Don't check GNU_PROPERTY_X86_UINT32_VALID. (decode_x86_feature_1): Likewise. (decode_x86_feature_2): Likewise. (print_gnu_property_note): Remove GNU_PROPERTY_X86_UINT32_VALID check. * testsuite/binutils-all/i386/empty.d: Updated. * testsuite/binutils-all/x86-64/empty-x32.d: Likewise. * testsuite/binutils-all/x86-64/empty.d: Likewise. * testsuite/binutils-all/i386/pr21231b.s: Change GNU_PROPERTY_X86_ISA_1_USED bits to 0x7fffffff. * testsuite/binutils-all/x86-64/pr21231b.s: Likewise. gas/ PR ld/23900 * config/tc-i386.c (x86_cleanup): Don't set GNU_PROPERTY_X86_UINT32_VALID. * testsuite/gas/i386/property-1.s: Change GNU_PROPERTY_X86_ISA_1_USED bits to 0. include/ PR ld/23900 * elf/common.h (PT_GNU_PROPERTY): New. (GNU_PROPERTY_X86_UINT32_VALID): Removed. ld/ PR ld/23900 * testsuite/ld-elf/elf.exp: Run PR ld/23900 test. * testsuite/ld-elf/pr23900-1-32.rd: New file. * testsuite/ld-elf/pr23900-1-64.rd: Likewise. * testsuite/ld-elf/pr23900-1.d: Likewise. * testsuite/ld-elf/pr23900-1.s: Likewise. * testsuite/ld-elf/pr23900-2.s: Likewise. * testsuite/ld-elf/pr23900-2a.d: Likewise. * testsuite/ld-elf/pr23900-2b.d: Likewise. * testsuite/ld-i386/ibt-plt-1.d: Adjusted. * testsuite/ld-i386/ibt-plt-2c.d: Likewise. * testsuite/ld-i386/ibt-plt-2d.d: Likewise. * testsuite/ld-i386/ibt-plt-3d.d: Likewise. * testsuite/ld-x86-64/ibt-plt-1-x32.d: Likewise. * testsuite/ld-x86-64/ibt-plt-1.d: Likewise. * testsuite/ld-x86-64/ibt-plt-2c-x32.d: Likewise. * testsuite/ld-x86-64/ibt-plt-2c.d: Likewise. * testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise. * testsuite/ld-x86-64/ibt-plt-2c.d: Likewise. * testsuite/ld-x86-64/ibt-plt-3c-x32.d: Likewise. * testsuite/ld-x86-64/ibt-plt-3c.d: Likewise. * testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise. * testsuite/ld-x86-64/ibt-plt-3d.d: Likewise. * testsuite/ld-i386/pr23372c.d: Expect <None> for GNU_PROPERTY_X86_ISA_1_USED. * testsuite/ld-x86-64/pr23372c-x32.d: Likewise. * testsuite/ld-x86-64/pr23372c.d: Likewise. * testsuite/ld-x86-64/pr23372d-x32.d: Likewise. * testsuite/ld-x86-64/pr23372d.d: Likewise. * testsuite/ld-x86-64/property-x86-5a.s: Change GNU_PROPERTY_X86_ISA_1_USED bits to 0. * testsuite/ld-x86-64/property-x86-5b.s: Likewise.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog35
-rw-r--r--ld/testsuite/ld-elf/elf.exp40
-rw-r--r--ld/testsuite/ld-elf/pr23900-1-32.rd14
-rw-r--r--ld/testsuite/ld-elf/pr23900-1-64.rd14
-rw-r--r--ld/testsuite/ld-elf/pr23900-1.d8
-rw-r--r--ld/testsuite/ld-elf/pr23900-1.s30
-rw-r--r--ld/testsuite/ld-elf/pr23900-2.s32
-rw-r--r--ld/testsuite/ld-elf/pr23900-2a.d9
-rw-r--r--ld/testsuite/ld-elf/pr23900-2b.d9
-rw-r--r--ld/testsuite/ld-i386/ibt-plt-1.d22
-rw-r--r--ld/testsuite/ld-i386/ibt-plt-2c.d22
-rw-r--r--ld/testsuite/ld-i386/ibt-plt-2d.d20
-rw-r--r--ld/testsuite/ld-i386/ibt-plt-3d.d20
-rw-r--r--ld/testsuite/ld-i386/pr23372c.d2
-rw-r--r--ld/testsuite/ld-x86-64/ibt-plt-1-x32.d24
-rw-r--r--ld/testsuite/ld-x86-64/ibt-plt-1.d24
-rw-r--r--ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d24
-rw-r--r--ld/testsuite/ld-x86-64/ibt-plt-2c.d24
-rw-r--r--ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d14
-rw-r--r--ld/testsuite/ld-x86-64/ibt-plt-2d.d14
-rw-r--r--ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d24
-rw-r--r--ld/testsuite/ld-x86-64/ibt-plt-3c.d24
-rw-r--r--ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d14
-rw-r--r--ld/testsuite/ld-x86-64/ibt-plt-3d.d14
-rw-r--r--ld/testsuite/ld-x86-64/pr23372c-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/pr23372c.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-5a.s3
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-5b.s3
28 files changed, 330 insertions, 157 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index f032451..becd560 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,38 @@
+2018-12-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/23900
+ * testsuite/ld-elf/elf.exp: Run PR ld/23900 test.
+ * testsuite/ld-elf/pr23900-1-32.rd: New file.
+ * testsuite/ld-elf/pr23900-1-64.rd: Likewise.
+ * testsuite/ld-elf/pr23900-1.d: Likewise.
+ * testsuite/ld-elf/pr23900-1.s: Likewise.
+ * testsuite/ld-elf/pr23900-2.s: Likewise.
+ * testsuite/ld-elf/pr23900-2a.d: Likewise.
+ * testsuite/ld-elf/pr23900-2b.d: Likewise.
+ * testsuite/ld-i386/ibt-plt-1.d: Adjusted.
+ * testsuite/ld-i386/ibt-plt-2c.d: Likewise.
+ * testsuite/ld-i386/ibt-plt-2d.d: Likewise.
+ * testsuite/ld-i386/ibt-plt-3d.d: Likewise.
+ * testsuite/ld-x86-64/ibt-plt-1-x32.d: Likewise.
+ * testsuite/ld-x86-64/ibt-plt-1.d: Likewise.
+ * testsuite/ld-x86-64/ibt-plt-2c-x32.d: Likewise.
+ * testsuite/ld-x86-64/ibt-plt-2c.d: Likewise.
+ * testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise.
+ * testsuite/ld-x86-64/ibt-plt-2c.d: Likewise.
+ * testsuite/ld-x86-64/ibt-plt-3c-x32.d: Likewise.
+ * testsuite/ld-x86-64/ibt-plt-3c.d: Likewise.
+ * testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise.
+ * testsuite/ld-x86-64/ibt-plt-3d.d: Likewise.
+ * testsuite/ld-i386/pr23372c.d: Expect <None>
+ for GNU_PROPERTY_X86_ISA_1_USED.
+ * testsuite/ld-x86-64/pr23372c-x32.d: Likewise.
+ * testsuite/ld-x86-64/pr23372c.d: Likewise.
+ * testsuite/ld-x86-64/pr23372d-x32.d: Likewise.
+ * testsuite/ld-x86-64/pr23372d.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-5a.s: Change
+ GNU_PROPERTY_X86_ISA_1_USED bits to 0.
+ * testsuite/ld-x86-64/property-x86-5b.s: Likewise.
+
2018-12-11 H.J. Lu <hongjiu.lu@intel.com>
* scripttempl/elf32xc16x.sc: Fix a typo.
diff --git a/ld/testsuite/ld-elf/elf.exp b/ld/testsuite/ld-elf/elf.exp
index 96ee01f..3432f41 100644
--- a/ld/testsuite/ld-elf/elf.exp
+++ b/ld/testsuite/ld-elf/elf.exp
@@ -75,8 +75,10 @@ run_ld_link_tests [list \
if [is_elf64 tmpdir/symbol3w.a] {
set ASFLAGS "$ASFLAGS --defsym ALIGN=3"
+ set pr23900_1_exp "pr23900-1-64.rd"
} else {
set ASFLAGS "$ASFLAGS --defsym ALIGN=2"
+ set pr23900_1_exp "pr23900-1-32.rd"
}
@@ -144,14 +146,36 @@ if { [check_gc_sections_available] && ![istarget "v850-*-*"] } {
if { [istarget *-*-*linux*]
|| [istarget *-*-nacl*]
|| [istarget *-*-gnu*] } {
- run_ld_link_tests {
- {"stack exec" "-z execstack" "" "" {stack.s}
- {{readelf {-Wl} stack-exec.rd}} "stack-exec.exe"}
- {"stack noexec" "-z noexecstack" "" "" {stack.s}
- {{readelf {-Wl} stack-noexec.rd}} "stack-noexec.exe"}
- {"stack size" "-z stack-size=0x123400" "" "" {stack.s}
- {{readelf {-Wl} stack-size.rd}} "stack-size.exe"}
- }
+ run_ld_link_tests [list \
+ [list "stack exec" \
+ "-z execstack" \
+ "" \
+ "" \
+ {stack.s} \
+ {{readelf {-Wl} stack-exec.rd}} \
+ "stack-exec.exe"] \
+ [list "stack noexec" \
+ "-z noexecstack" \
+ "" \
+ "" \
+ {stack.s} \
+ {{readelf {-Wl} stack-noexec.rd}} \
+ "stack-noexec.exe"] \
+ [list "stack size" \
+ "-z stack-size=0x123400" \
+ "" \
+ "" \
+ {stack.s} \
+ {{readelf {-Wl} stack-size.rd}} \
+ "stack-size.exe"] \
+ [list "PT_GNU_PROPERTY alignment" \
+ "" \
+ "" \
+ "" \
+ {pr23900-1.s} \
+ [list [list "readelf" {-Wl} $pr23900_1_exp]] \
+ "pr23900-1.exe"] \
+ ]
}
set LDFLAGS $old_ldflags
diff --git a/ld/testsuite/ld-elf/pr23900-1-32.rd b/ld/testsuite/ld-elf/pr23900-1-32.rd
new file mode 100644
index 0000000..953095a
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23900-1-32.rd
@@ -0,0 +1,14 @@
+#source: pr23900-1.s
+#ld:
+#readelf: -l --wide
+#target: *-*-linux* *-*-gnu* *-*-nacl*
+
+#...
+ GNU_PROPERTY .* +0x4
+#...
+ +[0-9]+ +.*\ \.note\.gnu\.property .*
+#...
+ +[0-9]+ +\.note\.gnu\.property
+#...
+ +[0-9]+ +\.note\.gnu\.property
+#...
diff --git a/ld/testsuite/ld-elf/pr23900-1-64.rd b/ld/testsuite/ld-elf/pr23900-1-64.rd
new file mode 100644
index 0000000..62cd63c
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23900-1-64.rd
@@ -0,0 +1,14 @@
+#source: pr23900-1.s
+#ld:
+#readelf: -l --wide
+#target: *-*-linux* *-*-gnu* *-*-nacl*
+
+#...
+ GNU_PROPERTY .* +0x8
+#...
+ +[0-9]+ +.*\ \.note\.gnu\.property .*
+#...
+ +[0-9]+ +\.note\.gnu\.property
+#...
+ +[0-9]+ +\.note\.gnu\.property
+#...
diff --git a/ld/testsuite/ld-elf/pr23900-1.d b/ld/testsuite/ld-elf/pr23900-1.d
new file mode 100644
index 0000000..2079c93
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23900-1.d
@@ -0,0 +1,8 @@
+#ld:
+#readelf: --notes --wide
+#target: *-*-linux* *-*-gnu* *-*-nacl*
+
+#...
+Displaying notes found in: \.note\.gnu\.property
+[ ]+Owner[ ]+Data size[ ]+Description
+[ ]+GNU[ ]+0x0+..[ ]+NT_GNU_PROPERTY_TYPE_0[ ]+Properties: no copy on protected
diff --git a/ld/testsuite/ld-elf/pr23900-1.s b/ld/testsuite/ld-elf/pr23900-1.s
new file mode 100644
index 0000000..b0b54ed
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23900-1.s
@@ -0,0 +1,30 @@
+ .text
+ .global start /* Used by SH targets. */
+start:
+ .global _start
+_start:
+ .global __start
+__start:
+ .global main /* Used by HPPA targets. */
+main:
+ .globl _main /* Used by LynxOS targets. */
+_main:
+ .dc.a 0
+
+ .section .note.gnu.property, "a"
+ .p2align ALIGN
+ .dc.l .L1 - .L0 /* name length. */
+ .dc.l .L3 - .L1 /* data length. */
+ /* NT_GNU_PROPERTY_TYPE_0 */
+ .dc.l 5 /* note type. */
+.L0:
+ .asciz "GNU" /* vendor name. */
+.L1:
+ .p2align ALIGN
+ /* GNU_PROPERTY_NO_COPY_ON_PROTECTED */
+ .dc.l 2 /* pr_type. */
+ .dc.l .L5 - .L4 /* pr_datasz. */
+.L4:
+.L5:
+ .p2align ALIGN
+.L3:
diff --git a/ld/testsuite/ld-elf/pr23900-2.s b/ld/testsuite/ld-elf/pr23900-2.s
new file mode 100644
index 0000000..cfff675
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23900-2.s
@@ -0,0 +1,32 @@
+ .text
+ .global start /* Used by SH targets. */
+start:
+ .global _start
+_start:
+ .global __start
+__start:
+ .global main /* Used by HPPA targets. */
+main:
+ .globl _main /* Used by LynxOS targets. */
+_main:
+ .dc.a 0
+
+ /* NB: Deliberately incorrect section name. Should be
+ .note.gnu.property. */
+ .section .note, "a"
+ .p2align ALIGN
+ .dc.l .L1 - .L0 /* name length. */
+ .dc.l .L3 - .L1 /* data length. */
+ /* NT_GNU_PROPERTY_TYPE_0 */
+ .dc.l 5 /* note type. */
+.L0:
+ .asciz "GNU" /* vendor name. */
+.L1:
+ .p2align ALIGN
+ /* GNU_PROPERTY_NO_COPY_ON_PROTECTED */
+ .dc.l 2 /* pr_type. */
+ .dc.l .L5 - .L4 /* pr_datasz. */
+.L4:
+.L5:
+ .p2align ALIGN
+.L3:
diff --git a/ld/testsuite/ld-elf/pr23900-2a.d b/ld/testsuite/ld-elf/pr23900-2a.d
new file mode 100644
index 0000000..836606d
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23900-2a.d
@@ -0,0 +1,9 @@
+#source: pr23900-2.s
+#ld:
+#readelf: --notes --wide
+#target: *-*-linux* *-*-gnu* *-*-nacl*
+
+#...
+Displaying notes found in: \.note
+[ ]+Owner[ ]+Data size[ ]+Description
+[ ]+GNU[ ]+0x0+..[ ]+NT_GNU_PROPERTY_TYPE_0[ ]+Properties: no copy on protected
diff --git a/ld/testsuite/ld-elf/pr23900-2b.d b/ld/testsuite/ld-elf/pr23900-2b.d
new file mode 100644
index 0000000..2aa04d7
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr23900-2b.d
@@ -0,0 +1,9 @@
+#source: pr23900-2.s
+#ld:
+#readelf: -l --wide
+#target: *-*-linux* *-*-gnu* *-*-nacl*
+
+#failif
+#...
+ GNU_PROPERTY .*
+#...
diff --git a/ld/testsuite/ld-i386/ibt-plt-1.d b/ld/testsuite/ld-i386/ibt-plt-1.d
index 2a8e043..beccbf7 100644
--- a/ld/testsuite/ld-i386/ibt-plt-1.d
+++ b/ld/testsuite/ld-i386/ibt-plt-1.d
@@ -7,45 +7,45 @@
Disassembly of section .plt:
-0+160 <.plt>:
+[a-f0-9]+ <.plt>:
+[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\)
+[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\)
+[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\)
+[a-f0-9]+: f3 0f 1e fb endbr32
+[a-f0-9]+: 68 00 00 00 00 push \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff jmp 160 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff jmp [a-f0-9]+ <.plt>
+[a-f0-9]+: 66 90 xchg %ax,%ax
+[a-f0-9]+: f3 0f 1e fb endbr32
+[a-f0-9]+: 68 08 00 00 00 push \$0x8
- +[a-f0-9]+: e9 d2 ff ff ff jmp 160 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff jmp [a-f0-9]+ <.plt>
+[a-f0-9]+: 66 90 xchg %ax,%ax
Disassembly of section .plt.sec:
-0+190 <bar1@plt>:
+[a-f0-9]+ <bar1@plt>:
+[a-f0-9]+: f3 0f 1e fb endbr32
+[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\)
+[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\)
-0+1a0 <bar2@plt>:
+[a-f0-9]+ <bar2@plt>:
+[a-f0-9]+: f3 0f 1e fb endbr32
+[a-f0-9]+: ff a3 10 00 00 00 jmp \*0x10\(%ebx\)
+[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\)
Disassembly of section .text:
-0+1b0 <foo>:
+[a-f0-9]+ <foo>:
+[a-f0-9]+: 53 push %ebx
- +[a-f0-9]+: e8 18 00 00 00 call 1ce <__x86.get_pc_thunk.bx>
- +[a-f0-9]+: 81 c3 36 11 00 00 add \$0x1136,%ebx
+ +[a-f0-9]+: e8 18 00 00 00 call [a-f0-9]+ <__x86.get_pc_thunk.bx>
+ +[a-f0-9]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add \$0x[a-f0-9]+,%ebx
+[a-f0-9]+: 83 ec 08 sub \$0x8,%esp
- +[a-f0-9]+: e8 dc ff ff ff call 1a0 <bar2@plt>
- +[a-f0-9]+: e8 c7 ff ff ff call 190 <bar1@plt>
+ +[a-f0-9]+: e8 dc ff ff ff call [a-f0-9]+ <bar2@plt>
+ +[a-f0-9]+: e8 c7 ff ff ff call [a-f0-9]+ <bar1@plt>
+[a-f0-9]+: 83 c4 08 add \$0x8,%esp
+[a-f0-9]+: 5b pop %ebx
+[a-f0-9]+: c3 ret
-0+1ce <__x86.get_pc_thunk.bx>:
+[a-f0-9]+ <__x86.get_pc_thunk.bx>:
+[a-f0-9]+: 8b 1c 24 mov \(%esp\),%ebx
+[a-f0-9]+: c3 ret
#pass
diff --git a/ld/testsuite/ld-i386/ibt-plt-2c.d b/ld/testsuite/ld-i386/ibt-plt-2c.d
index d71f34d..7193034 100644
--- a/ld/testsuite/ld-i386/ibt-plt-2c.d
+++ b/ld/testsuite/ld-i386/ibt-plt-2c.d
@@ -8,45 +8,45 @@
Disassembly of section .plt:
-0+160 <.plt>:
+[a-f0-9]+ <.plt>:
+[a-f0-9]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\)
+[a-f0-9]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\)
+[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\)
+[a-f0-9]+: f3 0f 1e fb endbr32
+[a-f0-9]+: 68 00 00 00 00 push \$0x0
- +[a-f0-9]+: e9 e2 ff ff ff jmp 160 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff jmp [a-f0-9]+ <.plt>
+[a-f0-9]+: 66 90 xchg %ax,%ax
+[a-f0-9]+: f3 0f 1e fb endbr32
+[a-f0-9]+: 68 08 00 00 00 push \$0x8
- +[a-f0-9]+: e9 d2 ff ff ff jmp 160 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff jmp [a-f0-9]+ <.plt>
+[a-f0-9]+: 66 90 xchg %ax,%ax
Disassembly of section .plt.sec:
-0+190 <bar1@plt>:
+[a-f0-9]+ <bar1@plt>:
+[a-f0-9]+: f3 0f 1e fb endbr32
+[a-f0-9]+: ff a3 0c 00 00 00 jmp \*0xc\(%ebx\)
+[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\)
-0+1a0 <bar2@plt>:
+[a-f0-9]+ <bar2@plt>:
+[a-f0-9]+: f3 0f 1e fb endbr32
+[a-f0-9]+: ff a3 10 00 00 00 jmp \*0x10\(%ebx\)
+[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\)
Disassembly of section .text:
-0+1b0 <foo>:
+[a-f0-9]+ <foo>:
+[a-f0-9]+: 53 push %ebx
- +[a-f0-9]+: e8 18 00 00 00 call 1ce <__x86.get_pc_thunk.bx>
- +[a-f0-9]+: 81 c3 36 11 00 00 add \$0x1136,%ebx
+ +[a-f0-9]+: e8 18 00 00 00 call [0-9a-f]+ <__x86.get_pc_thunk.bx>
+ +[a-f0-9]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add \$0x[a-f0-9]+,%ebx
+[a-f0-9]+: 83 ec 08 sub \$0x8,%esp
- +[a-f0-9]+: e8 dc ff ff ff call 1a0 <bar2@plt>
- +[a-f0-9]+: e8 c7 ff ff ff call 190 <bar1@plt>
+ +[a-f0-9]+: e8 dc ff ff ff call [a-f0-9]+ <bar2@plt>
+ +[a-f0-9]+: e8 c7 ff ff ff call [a-f0-9]+ <bar1@plt>
+[a-f0-9]+: 83 c4 08 add \$0x8,%esp
+[a-f0-9]+: 5b pop %ebx
+[a-f0-9]+: c3 ret
-0+1ce <__x86.get_pc_thunk.bx>:
+[a-f0-9]+ <__x86.get_pc_thunk.bx>:
+[a-f0-9]+: 8b 1c 24 mov \(%esp\),%ebx
+[a-f0-9]+: c3 ret
#pass
diff --git a/ld/testsuite/ld-i386/ibt-plt-2d.d b/ld/testsuite/ld-i386/ibt-plt-2d.d
index ec1a95c..67260b8 100644
--- a/ld/testsuite/ld-i386/ibt-plt-2d.d
+++ b/ld/testsuite/ld-i386/ibt-plt-2d.d
@@ -18,31 +18,31 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
-0+18 0000001c 0000001c FDE cie=00000000 pc=000001b0..000001ce
- DW_CFA_advance_loc: 1 to 000001b1
+0+18 0000001c 0000001c FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
+ DW_CFA_advance_loc: 1 to [a-f0-9]+
DW_CFA_def_cfa_offset: 8
DW_CFA_offset: r3 \(ebx\) at cfa-8
- DW_CFA_advance_loc: 14 to 000001bf
+ DW_CFA_advance_loc: 14 to [a-f0-9]+
DW_CFA_def_cfa_offset: 16
- DW_CFA_advance_loc: 13 to 000001cc
+ DW_CFA_advance_loc: 13 to [a-f0-9]+
DW_CFA_def_cfa_offset: 8
- DW_CFA_advance_loc: 1 to 000001cd
+ DW_CFA_advance_loc: 1 to [a-f0-9]+
DW_CFA_restore: r3 \(ebx\)
DW_CFA_def_cfa_offset: 4
-0+38 00000010 0000003c FDE cie=00000000 pc=000001ce..000001d2
+0+38 00000010 0000003c FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-0+4c 00000020 00000050 FDE cie=00000000 pc=00000160..00000190
+0+4c 00000020 00000050 FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_def_cfa_offset: 8
- DW_CFA_advance_loc: 6 to 00000166
+ DW_CFA_advance_loc: 6 to [a-f0-9]+
DW_CFA_def_cfa_offset: 12
- DW_CFA_advance_loc: 10 to 00000170
+ DW_CFA_advance_loc: 10 to [a-f0-9]+
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=00000190..000001b0
+0+70 00000010 00000074 FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
diff --git a/ld/testsuite/ld-i386/ibt-plt-3d.d b/ld/testsuite/ld-i386/ibt-plt-3d.d
index 35742ca..42bd494 100644
--- a/ld/testsuite/ld-i386/ibt-plt-3d.d
+++ b/ld/testsuite/ld-i386/ibt-plt-3d.d
@@ -18,31 +18,31 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
-0+18 0000001c 0000001c FDE cie=00000000 pc=000001b0..000001ce
- DW_CFA_advance_loc: 1 to 000001b1
+0+18 0000001c 0000001c FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
+ DW_CFA_advance_loc: 1 to [a-f0-9]+
DW_CFA_def_cfa_offset: 8
DW_CFA_offset: r3 \(ebx\) at cfa-8
- DW_CFA_advance_loc: 14 to 000001bf
+ DW_CFA_advance_loc: 14 to [a-f0-9]+
DW_CFA_def_cfa_offset: 16
- DW_CFA_advance_loc: 13 to 000001cc
+ DW_CFA_advance_loc: 13 to [a-f0-9]+
DW_CFA_def_cfa_offset: 8
- DW_CFA_advance_loc: 1 to 000001cd
+ DW_CFA_advance_loc: 1 to [a-f0-9]+
DW_CFA_restore: r3 \(ebx\)
DW_CFA_def_cfa_offset: 4
-0+38 00000010 0000003c FDE cie=00000000 pc=000001ce..000001d2
+0+38 00000010 0000003c FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-0+4c 00000020 00000050 FDE cie=00000000 pc=00000160..00000190
+0+4c 00000020 00000050 FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_def_cfa_offset: 8
- DW_CFA_advance_loc: 6 to 00000166
+ DW_CFA_advance_loc: 6 to [a-f0-9]+
DW_CFA_def_cfa_offset: 12
- DW_CFA_advance_loc: 10 to 00000170
+ DW_CFA_advance_loc: 10 to [a-f0-9]+
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=00000190..000001b0
+0+70 00000010 00000074 FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
diff --git a/ld/testsuite/ld-i386/pr23372c.d b/ld/testsuite/ld-i386/pr23372c.d
index d5bcc4d..58803ab 100644
--- a/ld/testsuite/ld-i386/pr23372c.d
+++ b/ld/testsuite/ld-i386/pr23372c.d
@@ -7,4 +7,4 @@
Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
- Properties: x86 ISA used:
+ Properties: x86 ISA used: <None>
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d
index 21568c9..f0a2b92 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-1-x32.d
@@ -8,36 +8,36 @@
Disassembly of section .plt:
-0+160 <.plt>:
- +[a-f0-9]+: ff 35 62 01 20 00 pushq 0x200162\(%rip\) # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 64 01 20 00 jmpq \*0x200164\(%rip\) # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+[a-f0-9]+ <.plt>:
+ +[a-f0-9]+: ff 35 ([0-9a-f]{2} ){4}[ ]+pushq 0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_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
- +[a-f0-9]+: e9 e2 ff ff ff jmpq 160 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff jmpq [a-f0-9]+ <.plt>
+[a-f0-9]+: 66 90 xchg %ax,%ax
+[a-f0-9]+: f3 0f 1e fa endbr64
+[a-f0-9]+: 68 01 00 00 00 pushq \$0x1
- +[a-f0-9]+: e9 d2 ff ff ff jmpq 160 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff jmpq [a-f0-9]+ <.plt>
+[a-f0-9]+: 66 90 xchg %ax,%ax
Disassembly of section .plt.sec:
-0+190 <bar1@plt>:
+[a-f0-9]+ <bar1@plt>:
+[a-f0-9]+: f3 0f 1e fa endbr64
- +[a-f0-9]+: ff 25 3e 01 20 00 jmpq \*0x20013e\(%rip\) # 2002d8 <bar1>
+ +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar1>
+[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
-0+1a0 <bar2@plt>:
+[a-f0-9]+ <bar2@plt>:
+[a-f0-9]+: f3 0f 1e fa endbr64
- +[a-f0-9]+: ff 25 36 01 20 00 jmpq \*0x200136\(%rip\) # 2002e0 <bar2>
+ +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar2>
+[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
Disassembly of section .text:
-0+1b0 <foo>:
+[a-f0-9]+ <foo>:
+[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff callq 1a0 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff callq [a-f0-9]+ <bar2@plt>
+[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff jmpq 190 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff jmpq [a-f0-9]+ <bar1@plt>
#pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-1.d b/ld/testsuite/ld-x86-64/ibt-plt-1.d
index 5a9dcb1..a4064c6 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-1.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-1.d
@@ -8,36 +8,36 @@
Disassembly of section .plt:
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 ea 01 20 00 pushq 0x2001ea\(%rip\) # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\) # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10>
+[a-f0-9]+ <.plt>:
+ +[a-f0-9]+: ff 35 ([0-9a-f]{2} ){4}[ ]+pushq 0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x10>
+[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
+[a-f0-9]+: f3 0f 1e fa endbr64
+[a-f0-9]+: 68 00 00 00 00 pushq \$0x0
- +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq 220 <.plt>
+ +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq [a-f0-9]+ <.plt>
+[a-f0-9]+: 90 nop
+[a-f0-9]+: f3 0f 1e fa endbr64
+[a-f0-9]+: 68 01 00 00 00 pushq \$0x1
- +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq 220 <.plt>
+ +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq [a-f0-9]+ <.plt>
+[a-f0-9]+: 90 nop
Disassembly of section .plt.sec:
-0+250 <bar1@plt>:
+[a-f0-9]+ <bar1@plt>:
+[a-f0-9]+: f3 0f 1e fa endbr64
- +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\) # 200420 <bar1>
+ +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar1>
+[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
-0+260 <bar2@plt>:
+[a-f0-9]+ <bar2@plt>:
+[a-f0-9]+: f3 0f 1e fa endbr64
- +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\) # 200428 <bar2>
+ +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar2>
+[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
Disassembly of section .text:
-0+270 <foo>:
+[a-f0-9]+ <foo>:
+[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff callq 260 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff callq [a-f0-9]+ <bar2@plt>
+[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff jmpq 250 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff jmpq [a-f0-9]+ <bar1@plt>
#pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d
index e9f21b7..50b8fb1 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d
@@ -8,36 +8,36 @@
Disassembly of section .plt:
-0+160 <.plt>:
- +[a-f0-9]+: ff 35 62 01 20 00 pushq 0x200162\(%rip\) # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 64 01 20 00 jmpq \*0x200164\(%rip\) # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+[a-f0-9]+ <.plt>:
+ +[a-f0-9]+: ff 35 ([0-9a-f]{2} ){4}[ ]+pushq 0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_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
- +[a-f0-9]+: e9 e2 ff ff ff jmpq 160 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff jmpq [a-f0-9]+ <.plt>
+[a-f0-9]+: 66 90 xchg %ax,%ax
+[a-f0-9]+: f3 0f 1e fa endbr64
+[a-f0-9]+: 68 01 00 00 00 pushq \$0x1
- +[a-f0-9]+: e9 d2 ff ff ff jmpq 160 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff jmpq [a-f0-9]+ <.plt>
+[a-f0-9]+: 66 90 xchg %ax,%ax
Disassembly of section .plt.sec:
-0+190 <bar1@plt>:
+[a-f0-9]+ <bar1@plt>:
+[a-f0-9]+: f3 0f 1e fa endbr64
- +[a-f0-9]+: ff 25 3e 01 20 00 jmpq \*0x20013e\(%rip\) # 2002d8 <bar1>
+ +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar1>
+[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
-0+1a0 <bar2@plt>:
+[a-f0-9]+ <bar2@plt>:
+[a-f0-9]+: f3 0f 1e fa endbr64
- +[a-f0-9]+: ff 25 36 01 20 00 jmpq \*0x200136\(%rip\) # 2002e0 <bar2>
+ +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar2>
+[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
Disassembly of section .text:
-0+1b0 <foo>:
+[a-f0-9]+ <foo>:
+[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff callq 1a0 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff callq [a-f0-9]+ <bar2@plt>
+[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff jmpq 190 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff jmpq [a-f0-9]+ <bar1@plt>
#pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2c.d b/ld/testsuite/ld-x86-64/ibt-plt-2c.d
index fe28d89..ce1885e 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2c.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2c.d
@@ -8,36 +8,36 @@
Disassembly of section .plt:
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 ea 01 20 00 pushq 0x2001ea\(%rip\) # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\) # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10>
+[a-f0-9]+ <.plt>:
+ +[a-f0-9]+: ff 35 ([0-9a-f]{2} ){4}[ ]+pushq 0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x10>
+[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
+[a-f0-9]+: f3 0f 1e fa endbr64
+[a-f0-9]+: 68 00 00 00 00 pushq \$0x0
- +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq 220 <.plt>
+ +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq [a-f0-9]+ <.plt>
+[a-f0-9]+: 90 nop
+[a-f0-9]+: f3 0f 1e fa endbr64
+[a-f0-9]+: 68 01 00 00 00 pushq \$0x1
- +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq 220 <.plt>
+ +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq [a-f0-9]+ <.plt>
+[a-f0-9]+: 90 nop
Disassembly of section .plt.sec:
-0+250 <bar1@plt>:
+[a-f0-9]+ <bar1@plt>:
+[a-f0-9]+: f3 0f 1e fa endbr64
- +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\) # 200420 <bar1>
+ +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar1>
+[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
-0+260 <bar2@plt>:
+[a-f0-9]+ <bar2@plt>:
+[a-f0-9]+: f3 0f 1e fa endbr64
- +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\) # 200428 <bar2>
+ +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar2>
+[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
Disassembly of section .text:
-0+270 <foo>:
+[a-f0-9]+ <foo>:
+[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff callq 260 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff callq [a-f0-9]+ <bar2@plt>
+[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff jmpq 250 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff jmpq [a-f0-9]+ <bar1@plt>
#pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d
index 34e9f1c..8ece382 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d
@@ -18,21 +18,21 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
-0+18 00000014 0000001c FDE cie=00000000 pc=000001b0..000001c2
- DW_CFA_advance_loc: 4 to 000001b4
+0+18 00000014 0000001c FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
+ DW_CFA_advance_loc: 4 to [a-f0-9]+
DW_CFA_def_cfa_offset: 16
- DW_CFA_advance_loc: 9 to 000001bd
+ DW_CFA_advance_loc: 9 to [a-f0-9]+
DW_CFA_def_cfa_offset: 8
DW_CFA_nop
-0+30 00000020 00000034 FDE cie=00000000 pc=00000160..00000190
+0+30 00000020 00000034 FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_def_cfa_offset: 16
- DW_CFA_advance_loc: 6 to 00000166
+ DW_CFA_advance_loc: 6 to [a-f0-9]+
DW_CFA_def_cfa_offset: 24
- DW_CFA_advance_loc: 10 to 00000170
+ DW_CFA_advance_loc: 10 to [a-f0-9]+
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=00000190..000001b0
+0+54 00000010 00000058 FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2d.d b/ld/testsuite/ld-x86-64/ibt-plt-2d.d
index 93cc26f..dac86af 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-2d.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-2d.d
@@ -18,25 +18,25 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000270..0000000000000282
- DW_CFA_advance_loc: 4 to 0000000000000274
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
+ DW_CFA_advance_loc: 4 to [a-f0-9]+
DW_CFA_def_cfa_offset: 16
- DW_CFA_advance_loc: 9 to 000000000000027d
+ DW_CFA_advance_loc: 9 to [a-f0-9]+
DW_CFA_def_cfa_offset: 8
DW_CFA_nop
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000250
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_def_cfa_offset: 16
- DW_CFA_advance_loc: 6 to 0000000000000226
+ DW_CFA_advance_loc: 6 to [a-f0-9]+
DW_CFA_def_cfa_offset: 24
- DW_CFA_advance_loc: 10 to 0000000000000230
+ DW_CFA_advance_loc: 10 to [a-f0-9]+
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=0000000000000250..0000000000000270
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d
index 37f9182..c1c5ac4 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d
@@ -8,36 +8,36 @@
Disassembly of section .plt:
-0+160 <.plt>:
- +[a-f0-9]+: ff 35 62 01 20 00 pushq 0x200162\(%rip\) # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: ff 25 64 01 20 00 jmpq \*0x200164\(%rip\) # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
+[a-f0-9]+ <.plt>:
+ +[a-f0-9]+: ff 35 ([0-9a-f]{2} ){4}[ ]+pushq 0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_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
- +[a-f0-9]+: e9 e2 ff ff ff jmpq 160 <.plt>
+ +[a-f0-9]+: e9 e2 ff ff ff jmpq [a-f0-9]+ <.plt>
+[a-f0-9]+: 66 90 xchg %ax,%ax
+[a-f0-9]+: f3 0f 1e fa endbr64
+[a-f0-9]+: 68 01 00 00 00 pushq \$0x1
- +[a-f0-9]+: e9 d2 ff ff ff jmpq 160 <.plt>
+ +[a-f0-9]+: e9 d2 ff ff ff jmpq [a-f0-9]+ <.plt>
+[a-f0-9]+: 66 90 xchg %ax,%ax
Disassembly of section .plt.sec:
-0+190 <bar1@plt>:
+[a-f0-9]+ <bar1@plt>:
+[a-f0-9]+: f3 0f 1e fa endbr64
- +[a-f0-9]+: ff 25 3e 01 20 00 jmpq \*0x20013e\(%rip\) # 2002d8 <bar1>
+ +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar1>
+[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
-0+1a0 <bar2@plt>:
+[a-f0-9]+ <bar2@plt>:
+[a-f0-9]+: f3 0f 1e fa endbr64
- +[a-f0-9]+: ff 25 36 01 20 00 jmpq \*0x200136\(%rip\) # 2002e0 <bar2>
+ +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar2>
+[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
Disassembly of section .text:
-0+1b0 <foo>:
+[a-f0-9]+ <foo>:
+[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff callq 1a0 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff callq [a-f0-9]+ <bar2@plt>
+[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff jmpq 190 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff jmpq [a-f0-9]+ <bar1@plt>
#pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3c.d b/ld/testsuite/ld-x86-64/ibt-plt-3c.d
index 4122452..fcb8cb9 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3c.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3c.d
@@ -8,36 +8,36 @@
Disassembly of section .plt:
-0+220 <.plt>:
- +[a-f0-9]+: ff 35 ea 01 20 00 pushq 0x2001ea\(%rip\) # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8>
- +[a-f0-9]+: f2 ff 25 eb 01 20 00 bnd jmpq \*0x2001eb\(%rip\) # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10>
+[a-f0-9]+ <.plt>:
+ +[a-f0-9]+: ff 35 ([0-9a-f]{2} ){4}[ ]+pushq 0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x8>
+ +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x10>
+[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
+[a-f0-9]+: f3 0f 1e fa endbr64
+[a-f0-9]+: 68 00 00 00 00 pushq \$0x0
- +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq 220 <.plt>
+ +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmpq [a-f0-9]+ <.plt>
+[a-f0-9]+: 90 nop
+[a-f0-9]+: f3 0f 1e fa endbr64
+[a-f0-9]+: 68 01 00 00 00 pushq \$0x1
- +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq 220 <.plt>
+ +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmpq [a-f0-9]+ <.plt>
+[a-f0-9]+: 90 nop
Disassembly of section .plt.sec:
-0+250 <bar1@plt>:
+[a-f0-9]+ <bar1@plt>:
+[a-f0-9]+: f3 0f 1e fa endbr64
- +[a-f0-9]+: f2 ff 25 c5 01 20 00 bnd jmpq \*0x2001c5\(%rip\) # 200420 <bar1>
+ +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar1>
+[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
-0+260 <bar2@plt>:
+[a-f0-9]+ <bar2@plt>:
+[a-f0-9]+: f3 0f 1e fa endbr64
- +[a-f0-9]+: f2 ff 25 bd 01 20 00 bnd jmpq \*0x2001bd\(%rip\) # 200428 <bar2>
+ +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmpq \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar2>
+[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
Disassembly of section .text:
-0+270 <foo>:
+[a-f0-9]+ <foo>:
+[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp
- +[a-f0-9]+: e8 e7 ff ff ff callq 260 <bar2@plt>
+ +[a-f0-9]+: e8 e7 ff ff ff callq [a-f0-9]+ <bar2@plt>
+[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp
- +[a-f0-9]+: e9 ce ff ff ff jmpq 250 <bar1@plt>
+ +[a-f0-9]+: e9 ce ff ff ff jmpq [a-f0-9]+ <bar1@plt>
#pass
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d
index b6130a4..480a96a 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d
@@ -18,21 +18,21 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
-0+18 00000014 0000001c FDE cie=00000000 pc=000001b0..000001c2
- DW_CFA_advance_loc: 4 to 000001b4
+0+18 00000014 0000001c FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
+ DW_CFA_advance_loc: 4 to [a-f0-9]+
DW_CFA_def_cfa_offset: 16
- DW_CFA_advance_loc: 9 to 000001bd
+ DW_CFA_advance_loc: 9 to [a-f0-9]+
DW_CFA_def_cfa_offset: 8
DW_CFA_nop
-0+30 00000020 00000034 FDE cie=00000000 pc=00000160..00000190
+0+30 00000020 00000034 FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_def_cfa_offset: 16
- DW_CFA_advance_loc: 6 to 00000166
+ DW_CFA_advance_loc: 6 to [a-f0-9]+
DW_CFA_def_cfa_offset: 24
- DW_CFA_advance_loc: 10 to 00000170
+ DW_CFA_advance_loc: 10 to [a-f0-9]+
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=00000190..000001b0
+0+54 00000010 00000058 FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3d.d b/ld/testsuite/ld-x86-64/ibt-plt-3d.d
index 2bf9e5d..0278754 100644
--- a/ld/testsuite/ld-x86-64/ibt-plt-3d.d
+++ b/ld/testsuite/ld-x86-64/ibt-plt-3d.d
@@ -18,25 +18,25 @@ Contents of the .eh_frame section:
DW_CFA_nop
DW_CFA_nop
-0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000270..0000000000000282
- DW_CFA_advance_loc: 4 to 0000000000000274
+0+18 0000000000000014 0000001c FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
+ DW_CFA_advance_loc: 4 to [a-f0-9]+
DW_CFA_def_cfa_offset: 16
- DW_CFA_advance_loc: 9 to 000000000000027d
+ DW_CFA_advance_loc: 9 to [a-f0-9]+
DW_CFA_def_cfa_offset: 8
DW_CFA_nop
-0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000250
+0+30 0000000000000024 00000034 FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_def_cfa_offset: 16
- DW_CFA_advance_loc: 6 to 0000000000000226
+ DW_CFA_advance_loc: 6 to [a-f0-9]+
DW_CFA_def_cfa_offset: 24
- DW_CFA_advance_loc: 10 to 0000000000000230
+ DW_CFA_advance_loc: 10 to [a-f0-9]+
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=0000000000000250..0000000000000270
+0+58 0000000000000010 0000005c FDE cie=00000000 pc=[a-f0-9]+\.\.[a-f0-9]+
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
diff --git a/ld/testsuite/ld-x86-64/pr23372c-x32.d b/ld/testsuite/ld-x86-64/pr23372c-x32.d
index efd6e84..4d56e0d 100644
--- a/ld/testsuite/ld-x86-64/pr23372c-x32.d
+++ b/ld/testsuite/ld-x86-64/pr23372c-x32.d
@@ -7,4 +7,4 @@
Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
- Properties: x86 ISA used:
+ Properties: x86 ISA used: <None>
diff --git a/ld/testsuite/ld-x86-64/pr23372c.d b/ld/testsuite/ld-x86-64/pr23372c.d
index f56859a..358a9b4 100644
--- a/ld/testsuite/ld-x86-64/pr23372c.d
+++ b/ld/testsuite/ld-x86-64/pr23372c.d
@@ -7,4 +7,4 @@
Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
- Properties: x86 ISA used:
+ Properties: x86 ISA used: <None>
diff --git a/ld/testsuite/ld-x86-64/property-x86-5a.s b/ld/testsuite/ld-x86-64/property-x86-5a.s
index 7b5b823..990c468 100644
--- a/ld/testsuite/ld-x86-64/property-x86-5a.s
+++ b/ld/testsuite/ld-x86-64/property-x86-5a.s
@@ -41,8 +41,7 @@ _start:
.long 0xc0010000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
- /* GNU_PROPERTY_X86_UINT32_VALID */
- .long 0x80000000
+ .long 0x0
5:
.ifdef __64_bit__
.p2align 3
diff --git a/ld/testsuite/ld-x86-64/property-x86-5b.s b/ld/testsuite/ld-x86-64/property-x86-5b.s
index 8857c11..1f90dfc 100644
--- a/ld/testsuite/ld-x86-64/property-x86-5b.s
+++ b/ld/testsuite/ld-x86-64/property-x86-5b.s
@@ -20,8 +20,7 @@
.long 0xc0010000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
- /* GNU_PROPERTY_X86_UINT32_VALID */
- .long 0x80000000
+ .long 0x0
5:
.ifdef __64_bit__
.p2align 3