diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2018-12-09 07:22:14 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2018-12-09 07:22:14 -0800 |
commit | 9f52eab6a7a69870c7b5907a20b0305f30dbf2ae (patch) | |
tree | e8387fa7f3c1211147f34ca91c3d618ea375b599 /gas | |
parent | 7a81c1e2d44c6eb11b2ea24dc71ee959ab3a5acd (diff) | |
download | gdb-9f52eab6a7a69870c7b5907a20b0305f30dbf2ae.zip gdb-9f52eab6a7a69870c7b5907a20b0305f30dbf2ae.tar.gz gdb-9f52eab6a7a69870c7b5907a20b0305f30dbf2ae.tar.bz2 |
x86: Put back BFD_RELOC_X86_64_GOTPCREL
Put back BFD_RELOC_X86_64_GOTPCREL in TC_FORCE_RELOCATION_LOCAL, which
was removed by
commit 56ceb5b5405af23eddd12e12d8ba849010120324
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Oct 22 04:49:20 2015 -0700
Add R_X86_64_[REX_]GOTPCRELX support to gas and ld
by accident.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 10 | ||||
-rw-r--r-- | gas/config/tc-i386.h | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/i386.exp | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel-2.d | 13 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-gotpcrel-2.d | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-gotpcrel-2.s | 3 |
6 files changed, 39 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 10eede5..586823a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,13 @@ +2018-12-09 H.J. Lu <hongjiu.lu@intel.com> + + PR gas/pr23968 + * config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Put back + BFD_RELOC_X86_64_GOTPCREL. + * testsuite/gas/i386/i386.exp: Run x86-64-gotpcrel-2. + * testsuite/gas/i386/x86-64-gotpcrel-2.d: New file. + * testsuite/gas/i386/x86-64-gotpcrel-2.s: Likewise. + * testsuite/gas/i386/ilp32/x86-64-gotpcrel-2.d: Likewise. + 2018-12-07 Jim Wilson <jimw@sifive.com> PR gas/23956 diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h index 5426301..e172158 100644 --- a/gas/config/tc-i386.h +++ b/gas/config/tc-i386.h @@ -174,6 +174,7 @@ extern int tc_i386_fix_adjustable (struct fix *); (GENERIC_FORCE_RELOCATION_LOCAL (FIX) \ || (FIX)->fx_r_type == BFD_RELOC_386_PLT32 \ || (FIX)->fx_r_type == BFD_RELOC_386_GOTPC \ + || (FIX)->fx_r_type == BFD_RELOC_X86_64_GOTPCREL \ || (FIX)->fx_r_type == BFD_RELOC_X86_64_GOTPCRELX \ || (FIX)->fx_r_type == BFD_RELOC_X86_64_REX_GOTPCRELX) diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index e3eeaf8..e721069 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -1037,6 +1037,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-gotpcrel" run_dump_test "x86-64-gotpcrel-no-relax" + run_dump_test "x86-64-gotpcrel-2" run_dump_test "x86-64-addend" run_dump_test "x86-64-nop-3" diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel-2.d b/gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel-2.d new file mode 100644 index 0000000..41b9ac2 --- /dev/null +++ b/gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel-2.d @@ -0,0 +1,13 @@ +#source: ../x86-64-gotpcrel-2.s +#as: --x32 -mrelax-relocations=no +#objdump: -dwr +#name: x86-64 (ILP32) gotpcrel (2) + +.*: +file format .* + + +Disassembly of section .text: + +0+ <foo>: + +[a-f0-9]+: 48 8b 05 00 00 00 00 mov 0x0\(%rip\),%rax # 7 <foo\+0x7> 3: R_X86_64_GOTPCREL foo-0x4 +#pass diff --git a/gas/testsuite/gas/i386/x86-64-gotpcrel-2.d b/gas/testsuite/gas/i386/x86-64-gotpcrel-2.d new file mode 100644 index 0000000..3d07631 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-gotpcrel-2.d @@ -0,0 +1,11 @@ +#as: -mrelax-relocations=no +#objdump: -dwr + +.*: +file format .* + + +Disassembly of section .text: + +0+ <foo>: + +[a-f0-9]+: 48 8b 05 00 00 00 00 mov 0x0\(%rip\),%rax # 7 <foo\+0x7> 3: R_X86_64_GOTPCREL foo-0x4 +#pass diff --git a/gas/testsuite/gas/i386/x86-64-gotpcrel-2.s b/gas/testsuite/gas/i386/x86-64-gotpcrel-2.s new file mode 100644 index 0000000..db5ddf5 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-gotpcrel-2.s @@ -0,0 +1,3 @@ + .text +foo: + movq foo@GOTPCREL(%rip), %rax |