From 4eb3c8c29ffd24319b9ae9ac19ebffa7c397fba1 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Wed, 13 Apr 2005 13:47:08 +0000 Subject: [PATCH] gas/ 2005-04-13 Jan Beulich H.J. Lu * config/tc-i386.c (md_apply_fix3): Also handle BFD_RELOC_X86_64_32S. (tc_gen_reloc): Handle BFD_RELOC_X86_64_32S specially. gas/testsuite/ 2005-04-13 Jan Beulich H.J. Lu * gas/i386/x86-64-pcrel.[sd]: New. * gas/i386/i386.exp: Run new test. --- gas/ChangeLog | 6 ++++++ gas/config/tc-i386.c | 9 ++++++++- gas/testsuite/ChangeLog | 6 ++++++ gas/testsuite/gas/i386/i386.exp | 1 + 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 7776bc9911f..852d4b03314 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2005-04-13 Jan Beulich + H.J. Lu + + * config/tc-i386.c (md_apply_fix3): Also handle BFD_RELOC_X86_64_32S. + (tc_gen_reloc): Handle BFD_RELOC_X86_64_32S specially. + 2005-04-12 Alan Modra PR gas/827 diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index bdcb55e4489..641b7a03080 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -4792,6 +4792,7 @@ md_apply_fix3 (fixP, valP, seg) break; case BFD_RELOC_32: + case BFD_RELOC_X86_64_32S: fixP->fx_r_type = BFD_RELOC_32_PCREL; break; case BFD_RELOC_16: @@ -5355,7 +5356,6 @@ tc_gen_reloc (section, fixp) case BFD_RELOC_386_TLS_GOTIE: case BFD_RELOC_386_TLS_LE_32: case BFD_RELOC_386_TLS_LE: - case BFD_RELOC_X86_64_32S: case BFD_RELOC_X86_64_TLSGD: case BFD_RELOC_X86_64_TLSLD: case BFD_RELOC_X86_64_DTPOFF32: @@ -5369,6 +5369,13 @@ tc_gen_reloc (section, fixp) #endif code = fixp->fx_r_type; break; + case BFD_RELOC_X86_64_32S: + if (!fixp->fx_pcrel) + { + /* Don't turn BFD_RELOC_X86_64_32S into BFD_RELOC_32. */ + code = fixp->fx_r_type; + break; + } default: if (fixp->fx_pcrel) { diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 68f166783cb..f7e1b4fe197 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2005-04-13 Jan Beulich + H.J. Lu + + * gas/i386/x86-64-pcrel.[sd]: New. + * gas/i386/i386.exp: Run new test. + 2005-03-23 Alan Modra * gas/elf/section5.s: Don't start directives in first column. diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 1cb1af3b6b3..8f87544e26e 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -118,6 +118,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86_64" run_dump_test "x86-64-addr32" run_dump_test "x86-64-opcode" + run_dump_test "x86-64-pcrel" run_dump_test "x86-64-rip" run_list_test "x86-64-inval" "-al" -- 2.47.2