diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2022-12-06 11:35:42 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2022-12-08 08:05:45 -0800 |
commit | e9c11d58b951ed64255a7889fdcb087e3bed89de (patch) | |
tree | 3cf56fe61dc7ab7b53fc7259b1aad93d37508de8 /ld | |
parent | 2d77a94ff17a81260b80997db476f87cba5f4b11 (diff) | |
download | gdb-e9c11d58b951ed64255a7889fdcb087e3bed89de.zip gdb-e9c11d58b951ed64255a7889fdcb087e3bed89de.tar.gz gdb-e9c11d58b951ed64255a7889fdcb087e3bed89de.tar.bz2 |
x86-64: Remove BND from 64-bit IBT PLT
Since MPX support has been removed from x86-64 psABI, remove BND from
64-bit IBT PLT by using x32 IBT PLT.
bfd/
PR ld/29851
* elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Also check
x32 IBT PLT for 64-bit.
(elf_x86_64_link_setup_gnu_properties): Always use x32 IBT PLT.
ld/
PR ld/29851
* testsuite/ld-x86-64/ibt-plt-1.d: Updated.
* testsuite/ld-x86-64/ibt-plt-2a.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2b.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2c.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-2d.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3a.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3b.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3c.d: Likewise.
* testsuite/ld-x86-64/ibt-plt-3d.d: Likewise.
* testsuite/ld-x86-64/plt-main-ibt-x32.dd: Moved to ...
* testsuite/ld-x86-64/plt-main-ibt.dd: This.
* testsuite/ld-x86-64/x86-64.exp: Don't use plt-main-ibt-x32.dd.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/testsuite/ld-x86-64/ibt-plt-1.d | 20 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/ibt-plt-2a.d | 20 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/ibt-plt-2b.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/ibt-plt-2c.d | 20 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/ibt-plt-2d.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/ibt-plt-3a.d | 20 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/ibt-plt-3b.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/ibt-plt-3c.d | 20 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/ibt-plt-3d.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/plt-main-ibt-x32.dd | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/plt-main-ibt.dd | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/x86-64.exp | 9 |
12 files changed, 57 insertions, 69 deletions
diff --git a/ld/testsuite/ld-x86-64/ibt-plt-1.d b/ld/testsuite/ld-x86-64/ibt-plt-1.d index b8b968d..283dbf3 100644 --- a/ld/testsuite/ld-x86-64/ibt-plt-1.d +++ b/ld/testsuite/ld-x86-64/ibt-plt-1.d @@ -10,28 +10,28 @@ Disassembly of section .plt: [a-f0-9]+ <.plt>: +[a-f0-9]+: ff 35 ([0-9a-f]{2} ){4}[ ]+push 0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmp \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x10> - +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) + +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmp \*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 push \$0x0 - +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmp [a-f0-9]+ <.*> - +[a-f0-9]+: 90 nop + +[a-f0-9]+: e9 e2 ff ff ff jmp [a-f0-9]+ <.*> + +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 push \$0x1 - +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmp [a-f0-9]+ <.*> - +[a-f0-9]+: 90 nop + +[a-f0-9]+: e9 d2 ff ff ff jmp [a-f0-9]+ <.*> + +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: [a-f0-9]+ <bar1@plt>: +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmp \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar1> - +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) + +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmp \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar1> + +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) [a-f0-9]+ <bar2@plt>: +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmp \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar2> - +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) + +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmp \*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: diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2a.d b/ld/testsuite/ld-x86-64/ibt-plt-2a.d index 3db74c3..6f8ec7e 100644 --- a/ld/testsuite/ld-x86-64/ibt-plt-2a.d +++ b/ld/testsuite/ld-x86-64/ibt-plt-2a.d @@ -10,28 +10,28 @@ Disassembly of section .plt: 0+1f0 <.plt>: +[a-f0-9]+: ff 35 ca 01 20 00 push 0x2001ca\(%rip\) # 2003c0 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 cb 01 20 00 bnd jmp \*0x2001cb\(%rip\) # 2003c8 <_GLOBAL_OFFSET_TABLE_\+0x10> - +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) + +[a-f0-9]+: ff 25 cc 01 20 00 jmp \*0x2001cc\(%rip\) # 2003c8 <_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 push \$0x0 - +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmp 1f0 <.*> - +[a-f0-9]+: 90 nop + +[a-f0-9]+: e9 e2 ff ff ff jmp 1f0 <.*> + +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 push \$0x1 - +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmp 1f0 <.*> - +[a-f0-9]+: 90 nop + +[a-f0-9]+: e9 d2 ff ff ff jmp 1f0 <.*> + +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: 0+220 <bar1@plt>: +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 a5 01 20 00 bnd jmp \*0x2001a5\(%rip\) # 2003d0 <bar1> - +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) + +[a-f0-9]+: ff 25 a6 01 20 00 jmp \*0x2001a6\(%rip\) # 2003d0 <bar1> + +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) 0+230 <bar2@plt>: +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 9d 01 20 00 bnd jmp \*0x20019d\(%rip\) # 2003d8 <bar2> - +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) + +[a-f0-9]+: ff 25 9e 01 20 00 jmp \*0x20019e\(%rip\) # 2003d8 <bar2> + +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) Disassembly of section .text: diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2b.d b/ld/testsuite/ld-x86-64/ibt-plt-2b.d index 2bb59d0..e322ce3 100644 --- a/ld/testsuite/ld-x86-64/ibt-plt-2b.d +++ b/ld/testsuite/ld-x86-64/ibt-plt-2b.d @@ -30,7 +30,7 @@ Contents of the .eh_frame section: DW_CFA_advance_loc: 6 to 00000000000001f6 DW_CFA_def_cfa_offset: 24 DW_CFA_advance_loc: 10 to 0000000000000200 - 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_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\) DW_CFA_nop DW_CFA_nop DW_CFA_nop diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2c.d b/ld/testsuite/ld-x86-64/ibt-plt-2c.d index dd47bc7..74184ae 100644 --- a/ld/testsuite/ld-x86-64/ibt-plt-2c.d +++ b/ld/testsuite/ld-x86-64/ibt-plt-2c.d @@ -10,28 +10,28 @@ Disassembly of section .plt: [a-f0-9]+ <.plt>: +[a-f0-9]+: ff 35 ([0-9a-f]{2} ){4}[ ]+push 0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmp \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x10> - +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) + +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmp \*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 push \$0x0 - +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmp [a-f0-9]+ <.*> - +[a-f0-9]+: 90 nop + +[a-f0-9]+: e9 e2 ff ff ff jmp [a-f0-9]+ <.*> + +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 push \$0x1 - +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmp [a-f0-9]+ <.*> - +[a-f0-9]+: 90 nop + +[a-f0-9]+: e9 d2 ff ff ff jmp [a-f0-9]+ <.*> + +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: [a-f0-9]+ <bar1@plt>: +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmp \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar1> - +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) + +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmp \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar1> + +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) [a-f0-9]+ <bar2@plt>: +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmp \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar2> - +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) + +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmp \*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: diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2d.d b/ld/testsuite/ld-x86-64/ibt-plt-2d.d index 9bfc415..b456bd3 100644 --- a/ld/testsuite/ld-x86-64/ibt-plt-2d.d +++ b/ld/testsuite/ld-x86-64/ibt-plt-2d.d @@ -30,7 +30,7 @@ Contents of the .eh_frame section: DW_CFA_advance_loc: 6 to [a-f0-9]+ DW_CFA_def_cfa_offset: 24 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_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\) DW_CFA_nop DW_CFA_nop DW_CFA_nop diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3a.d b/ld/testsuite/ld-x86-64/ibt-plt-3a.d index a7e048c..a0ef8b1 100644 --- a/ld/testsuite/ld-x86-64/ibt-plt-3a.d +++ b/ld/testsuite/ld-x86-64/ibt-plt-3a.d @@ -10,28 +10,28 @@ Disassembly of section .plt: 0+1f0 <.plt>: +[a-f0-9]+: ff 35 ca 01 20 00 push 0x2001ca\(%rip\) # 2003c0 <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 cb 01 20 00 bnd jmp \*0x2001cb\(%rip\) # 2003c8 <_GLOBAL_OFFSET_TABLE_\+0x10> - +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) + +[a-f0-9]+: ff 25 cc 01 20 00 jmp \*0x2001cc\(%rip\) # 2003c8 <_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 push \$0x0 - +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmp 1f0 <.*> - +[a-f0-9]+: 90 nop + +[a-f0-9]+: e9 e2 ff ff ff jmp 1f0 <.*> + +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 push \$0x1 - +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmp 1f0 <.*> - +[a-f0-9]+: 90 nop + +[a-f0-9]+: e9 d2 ff ff ff jmp 1f0 <.*> + +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: 0+220 <bar1@plt>: +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 a5 01 20 00 bnd jmp \*0x2001a5\(%rip\) # 2003d0 <bar1> - +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) + +[a-f0-9]+: ff 25 a6 01 20 00 jmp \*0x2001a6\(%rip\) # 2003d0 <bar1> + +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) 0+230 <bar2@plt>: +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 9d 01 20 00 bnd jmp \*0x20019d\(%rip\) # 2003d8 <bar2> - +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) + +[a-f0-9]+: ff 25 9e 01 20 00 jmp \*0x20019e\(%rip\) # 2003d8 <bar2> + +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) Disassembly of section .text: diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3b.d b/ld/testsuite/ld-x86-64/ibt-plt-3b.d index a998657..0e2c3ea 100644 --- a/ld/testsuite/ld-x86-64/ibt-plt-3b.d +++ b/ld/testsuite/ld-x86-64/ibt-plt-3b.d @@ -30,7 +30,7 @@ Contents of the .eh_frame section: DW_CFA_advance_loc: 6 to 00000000000001f6 DW_CFA_def_cfa_offset: 24 DW_CFA_advance_loc: 10 to 0000000000000200 - 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_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\) DW_CFA_nop DW_CFA_nop DW_CFA_nop diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3c.d b/ld/testsuite/ld-x86-64/ibt-plt-3c.d index dac290e..8be6783 100644 --- a/ld/testsuite/ld-x86-64/ibt-plt-3c.d +++ b/ld/testsuite/ld-x86-64/ibt-plt-3c.d @@ -10,28 +10,28 @@ Disassembly of section .plt: [a-f0-9]+ <.plt>: +[a-f0-9]+: ff 35 ([0-9a-f]{2} ){4}[ ]+push 0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x8> - +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmp \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <_GLOBAL_OFFSET_TABLE_\+0x10> - +[a-f0-9]+: 0f 1f 00 nopl \(%rax\) + +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmp \*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 push \$0x0 - +[a-f0-9]+: f2 e9 e1 ff ff ff bnd jmp [a-f0-9]+ <.*> - +[a-f0-9]+: 90 nop + +[a-f0-9]+: e9 e2 ff ff ff jmp [a-f0-9]+ <.*> + +[a-f0-9]+: 66 90 xchg %ax,%ax +[a-f0-9]+: f3 0f 1e fa endbr64 +[a-f0-9]+: 68 01 00 00 00 push \$0x1 - +[a-f0-9]+: f2 e9 d1 ff ff ff bnd jmp [a-f0-9]+ <.*> - +[a-f0-9]+: 90 nop + +[a-f0-9]+: e9 d2 ff ff ff jmp [a-f0-9]+ <.*> + +[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .plt.sec: [a-f0-9]+ <bar1@plt>: +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmp \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar1> - +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) + +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmp \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar1> + +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) [a-f0-9]+ <bar2@plt>: +[a-f0-9]+: f3 0f 1e fa endbr64 - +[a-f0-9]+: f2 ff 25 ([0-9a-f]{2} ){4}[ ]+bnd jmp \*0x[a-f0-9]+\(%rip\) # [a-f0-9]+ <bar2> - +[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) + +[a-f0-9]+: ff 25 ([0-9a-f]{2} ){4}[ ]+jmp \*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: diff --git a/ld/testsuite/ld-x86-64/ibt-plt-3d.d b/ld/testsuite/ld-x86-64/ibt-plt-3d.d index 5a4a38c..30d9020 100644 --- a/ld/testsuite/ld-x86-64/ibt-plt-3d.d +++ b/ld/testsuite/ld-x86-64/ibt-plt-3d.d @@ -30,7 +30,7 @@ Contents of the .eh_frame section: DW_CFA_advance_loc: 6 to [a-f0-9]+ DW_CFA_def_cfa_offset: 24 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_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\) DW_CFA_nop DW_CFA_nop DW_CFA_nop diff --git a/ld/testsuite/ld-x86-64/plt-main-ibt-x32.dd b/ld/testsuite/ld-x86-64/plt-main-ibt-x32.dd deleted file mode 100644 index 4c417df..0000000 --- a/ld/testsuite/ld-x86-64/plt-main-ibt-x32.dd +++ /dev/null @@ -1,7 +0,0 @@ -#... -Disassembly of section .plt.got: - -[a-f0-9]+ <[_a-z]+@plt>: -[ ]*[a-f0-9]+: f3 0f 1e fa endbr64 -[ ]*[a-f0-9]+: ff 25 .. .. 3f 00 jmp +\*0x3f....\(%rip\) # ...... <.*> -#pass diff --git a/ld/testsuite/ld-x86-64/plt-main-ibt.dd b/ld/testsuite/ld-x86-64/plt-main-ibt.dd index 035dd87..4c417df 100644 --- a/ld/testsuite/ld-x86-64/plt-main-ibt.dd +++ b/ld/testsuite/ld-x86-64/plt-main-ibt.dd @@ -3,5 +3,5 @@ Disassembly of section .plt.got: [a-f0-9]+ <[_a-z]+@plt>: [ ]*[a-f0-9]+: f3 0f 1e fa endbr64 -[ ]*[a-f0-9]+: f2 ff 25 .. .. 3f 00 bnd jmp \*0x3f....\(%rip\) # ...... <.*> +[ ]*[a-f0-9]+: ff 25 .. .. 3f 00 jmp +\*0x3f....\(%rip\) # ...... <.*> #pass diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp index 136371b..e30f210 100644 --- a/ld/testsuite/ld-x86-64/x86-64.exp +++ b/ld/testsuite/ld-x86-64/x86-64.exp @@ -2127,13 +2127,8 @@ if { [isnative] && [check_compiler_available] } { } if { [istarget "x86_64-*-linux*"] } { - if { [istarget "x86_64-*-linux*-gnux32"] } { - set pltdump {{objdump {-drw} plt-main-ibt-x32.dd}} - set pltsecdump {{readelf {-SW} plt-main-ibt-now.rd} {objdump {-drw} plt-main-ibt-x32.dd}} - } else { - set pltdump {{objdump {-drw} plt-main-ibt.dd}} - set pltsecdump {{readelf {-SW} plt-main-ibt-now.rd} {objdump {-drw} plt-main-ibt.dd}} - } + set pltdump {{objdump {-drw} plt-main-ibt.dd}} + set pltsecdump {{readelf {-SW} plt-main-ibt-now.rd} {objdump {-drw} plt-main-ibt.dd}} run_cc_link_tests [list \ [list \ "Build plt-main with -z ibtplt" \ |