aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite')
-rw-r--r--ld/testsuite/ld-x86-64/mark-plt-1.s7
-rw-r--r--ld/testsuite/ld-x86-64/mark-plt-1a-x32.d12
-rw-r--r--ld/testsuite/ld-x86-64/mark-plt-1a.d12
-rw-r--r--ld/testsuite/ld-x86-64/mark-plt-1b-x32.d16
-rw-r--r--ld/testsuite/ld-x86-64/mark-plt-1b.d16
-rw-r--r--ld/testsuite/ld-x86-64/mark-plt-1c-x32.d12
-rw-r--r--ld/testsuite/ld-x86-64/mark-plt-1c.d12
-rw-r--r--ld/testsuite/ld-x86-64/mark-plt-1d-x32.d16
-rw-r--r--ld/testsuite/ld-x86-64/mark-plt-1d.d16
-rw-r--r--ld/testsuite/ld-x86-64/x86-64.exp8
10 files changed, 127 insertions, 0 deletions
diff --git a/ld/testsuite/ld-x86-64/mark-plt-1.s b/ld/testsuite/ld-x86-64/mark-plt-1.s
new file mode 100644
index 0000000..e3f03c8
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/mark-plt-1.s
@@ -0,0 +1,7 @@
+ .text
+ .globl foo
+ .type foo, @function
+foo:
+ call bar@PLT
+ ret
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-x86-64/mark-plt-1a-x32.d b/ld/testsuite/ld-x86-64/mark-plt-1a-x32.d
new file mode 100644
index 0000000..2051356
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/mark-plt-1a-x32.d
@@ -0,0 +1,12 @@
+#source: mark-plt-1.s
+#as: --x32
+#ld: -melf32_x86_64 -shared -z mark-plt
+#readelf: -drW
+
+#...
+ 0x70000000 \(DT_X86_64_PLT\) 0x1000
+ 0x70000001 \(DT_X86_64_PLTSZ\) 0x20
+ 0x70000003 \(DT_X86_64_PLTENT\) 0x10
+#...
+[0-9a-f ]+R_X86_64_JUMP_SLOT +0+ +bar \+ 1010
+#pass
diff --git a/ld/testsuite/ld-x86-64/mark-plt-1a.d b/ld/testsuite/ld-x86-64/mark-plt-1a.d
new file mode 100644
index 0000000..a252e95
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/mark-plt-1a.d
@@ -0,0 +1,12 @@
+#source: mark-plt-1.s
+#as: --64
+#ld: -melf_x86_64 -shared -z mark-plt
+#readelf: -drW
+
+#...
+ 0x0000000070000000 \(DT_X86_64_PLT\) 0x1000
+ 0x0000000070000001 \(DT_X86_64_PLTSZ\) 0x20
+ 0x0000000070000003 \(DT_X86_64_PLTENT\) 0x10
+#...
+[0-9a-f ]+R_X86_64_JUMP_SLOT +0+ +bar \+ 1010
+#pass
diff --git a/ld/testsuite/ld-x86-64/mark-plt-1b-x32.d b/ld/testsuite/ld-x86-64/mark-plt-1b-x32.d
new file mode 100644
index 0000000..74306a0
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/mark-plt-1b-x32.d
@@ -0,0 +1,16 @@
+#source: mark-plt-1.s
+#as: --x32
+#ld: -melf32_x86_64 -shared -z mark-plt
+#objdump: -dw
+
+#...
+0+1010 <bar@plt>:
+ +1010: ff 25 9a 10 00 00 jmp \*0x109a\(%rip\) # 20b0 <bar>
+ +1016: 68 00 00 00 00 push \$0x0
+ +101b: e9 e0 ff ff ff jmp 1000 <bar@plt-0x10>
+
+Disassembly of section .text:
+
+0+1020 <foo>:
+ +1020: e8 eb ff ff ff call 1010 <bar@plt>
+#pass
diff --git a/ld/testsuite/ld-x86-64/mark-plt-1b.d b/ld/testsuite/ld-x86-64/mark-plt-1b.d
new file mode 100644
index 0000000..dc046c0
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/mark-plt-1b.d
@@ -0,0 +1,16 @@
+#source: mark-plt-1.s
+#as: --64
+#ld: -melf_x86_64 -shared -z mark-plt
+#objdump: -dw
+
+#...
+0+1010 <bar@plt>:
+ +1010: ff 25 32 11 00 00 jmp \*0x1132\(%rip\) # 2148 <bar>
+ +1016: 68 00 00 00 00 push \$0x0
+ +101b: e9 e0 ff ff ff jmp 1000 <bar@plt-0x10>
+
+Disassembly of section .text:
+
+0+1020 <foo>:
+ +1020: e8 eb ff ff ff call 1010 <bar@plt>
+#pass
diff --git a/ld/testsuite/ld-x86-64/mark-plt-1c-x32.d b/ld/testsuite/ld-x86-64/mark-plt-1c-x32.d
new file mode 100644
index 0000000..6354dc3
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/mark-plt-1c-x32.d
@@ -0,0 +1,12 @@
+#source: mark-plt-1.s
+#as: --x32
+#ld: -melf32_x86_64 -shared -z mark-plt -z ibtplt
+#readelf: -drW
+
+#...
+ 0x70000000 \(DT_X86_64_PLT\) 0x1020
+ 0x70000001 \(DT_X86_64_PLTSZ\) 0x10
+ 0x70000003 \(DT_X86_64_PLTENT\) 0x10
+#...
+[0-9a-f ]+R_X86_64_JUMP_SLOT +0+ +bar \+ 1024
+#pass
diff --git a/ld/testsuite/ld-x86-64/mark-plt-1c.d b/ld/testsuite/ld-x86-64/mark-plt-1c.d
new file mode 100644
index 0000000..e11e0b7
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/mark-plt-1c.d
@@ -0,0 +1,12 @@
+#source: mark-plt-1.s
+#as: --64
+#ld: -melf_x86_64 -shared -z mark-plt -z ibtplt
+#readelf: -drW
+
+#...
+ 0x0000000070000000 \(DT_X86_64_PLT\) 0x1020
+ 0x0000000070000001 \(DT_X86_64_PLTSZ\) 0x10
+ 0x0000000070000003 \(DT_X86_64_PLTENT\) 0x10
+#...
+[0-9a-f ]+R_X86_64_JUMP_SLOT +0+ +bar \+ 1024
+#pass
diff --git a/ld/testsuite/ld-x86-64/mark-plt-1d-x32.d b/ld/testsuite/ld-x86-64/mark-plt-1d-x32.d
new file mode 100644
index 0000000..318ca1f
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/mark-plt-1d-x32.d
@@ -0,0 +1,16 @@
+#source: mark-plt-1.s
+#as: --x32
+#ld: -melf32_x86_64 -shared -z mark-plt -z ibtplt
+#objdump: -dw
+
+#...
+0+1020 <bar@plt>:
+ +1020: f3 0f 1e fa endbr64
+ +1024: ff 25 86 10 00 00 jmp \*0x1086\(%rip\) # 20b0 <bar>
+ +102a: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
+
+Disassembly of section .text:
+
+0+1030 <foo>:
+ +1030: e8 eb ff ff ff call 1020 <bar@plt>
+#pass
diff --git a/ld/testsuite/ld-x86-64/mark-plt-1d.d b/ld/testsuite/ld-x86-64/mark-plt-1d.d
new file mode 100644
index 0000000..2dd63bc
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/mark-plt-1d.d
@@ -0,0 +1,16 @@
+#source: mark-plt-1.s
+#as: --64
+#ld: -melf_x86_64 -shared -z mark-plt -z ibtplt
+#objdump: -dw
+
+#...
+0+1020 <bar@plt>:
+ +1020: f3 0f 1e fa endbr64
+ +1024: ff 25 1e 11 00 00 jmp \*0x111e\(%rip\) # 2148 <bar>
+ +102a: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
+
+Disassembly of section .text:
+
+0+1030 <foo>:
+ +1030: e8 eb ff ff ff call 1020 <bar@plt>
+#pass
diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
index f94284b..3dc8cb4 100644
--- a/ld/testsuite/ld-x86-64/x86-64.exp
+++ b/ld/testsuite/ld-x86-64/x86-64.exp
@@ -2228,5 +2228,13 @@ run_dump_test "ibt-plt-3a-x32"
run_dump_test "ibt-plt-3b-x32"
run_dump_test "ibt-plt-3c-x32"
run_dump_test "ibt-plt-3d-x32"
+run_dump_test "mark-plt-1a"
+run_dump_test "mark-plt-1b"
+run_dump_test "mark-plt-1c"
+run_dump_test "mark-plt-1d"
+run_dump_test "mark-plt-1a-x32"
+run_dump_test "mark-plt-1b-x32"
+run_dump_test "mark-plt-1c-x32"
+run_dump_test "mark-plt-1d-x32"
set ASFLAGS "$saved_ASFLAGS"