[PATCH] ld/x86-64: Add PR gold/26939 tests
H.J. Lu
hjl.tools@gmail.com
Tue Nov 24 19:31:36 GMT 2020
GOTPCRELX relocations can be transformed only when addend == -4. Add
tests for GOTPCRELX relocations with addend != -4.
PR gold/26939
* testsuite/ld-x86-64/pr26939-x32.d: New file.
* testsuite/ld-x86-64/pr26939.d: Likewise.
* testsuite/ld-x86-64/pr26939.s: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run PR gold/26939 tests.
---
ld/testsuite/ld-x86-64/pr26939-x32.d | 13 +++++++++++++
ld/testsuite/ld-x86-64/pr26939.d | 12 ++++++++++++
ld/testsuite/ld-x86-64/pr26939.s | 5 +++++
ld/testsuite/ld-x86-64/x86-64.exp | 2 ++
4 files changed, 32 insertions(+)
create mode 100644 ld/testsuite/ld-x86-64/pr26939-x32.d
create mode 100644 ld/testsuite/ld-x86-64/pr26939.d
create mode 100644 ld/testsuite/ld-x86-64/pr26939.s
diff --git a/ld/testsuite/ld-x86-64/pr26939-x32.d b/ld/testsuite/ld-x86-64/pr26939-x32.d
new file mode 100644
index 0000000000..af2c023a92
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr26939-x32.d
@@ -0,0 +1,13 @@
+#source: pr26939.s
+#as: --x32
+#ld: -pie -melf32_x86_64
+#objdump: -dw
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+#...
+[ ]*[a-f0-9]+: 8b 05 ([0-9a-f]{2} ){4} * mov 0x[a-f0-9]+\(%rip\),%eax # [a-f0-9]+ <.*>
+#pass
diff --git a/ld/testsuite/ld-x86-64/pr26939.d b/ld/testsuite/ld-x86-64/pr26939.d
new file mode 100644
index 0000000000..d02bdfcdf8
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr26939.d
@@ -0,0 +1,12 @@
+#as: --64
+#ld: -pie -melf_x86_64
+#objdump: -dw
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+#...
+[ ]*[a-f0-9]+: 8b 05 ([0-9a-f]{2} ){4} * mov 0x[a-f0-9]+\(%rip\),%eax # [a-f0-9]+ <.*>
+#pass
diff --git a/ld/testsuite/ld-x86-64/pr26939.s b/ld/testsuite/ld-x86-64/pr26939.s
new file mode 100644
index 0000000000..f961361414
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr26939.s
@@ -0,0 +1,5 @@
+ .text
+ .globl _start
+ .type _start,@function
+_start:
+ movl _start@GOTPCREL+4(%rip), %eax
diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
index b99e6f19b5..99c8a33c3e 100644
--- a/ld/testsuite/ld-x86-64/x86-64.exp
+++ b/ld/testsuite/ld-x86-64/x86-64.exp
@@ -659,6 +659,8 @@ run_dump_test "pr20253-5b"
run_dump_test "tlsdesc2"
run_dump_test "pr22048"
run_dump_test "pr22929"
+run_dump_test "pr26939"
+run_dump_test "pr26939-x32"
proc undefined_weak {cflags ldflags} {
set testname "Undefined weak symbol"
--
2.28.0
More information about the Binutils
mailing list