aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2016-05-20 06:01:28 -0700
committerH.J. Lu <hjl.tools@gmail.com>2016-05-20 06:01:28 -0700
commit4e21640f674499048157fa62f08b16f6039f78f6 (patch)
tree27085915ea4a643164975a5d4837d325a5532b56 /gas/config
parent17c6c9d9f3e71459edb4b6af5ec75125f0d06f87 (diff)
downloadgdb-4e21640f674499048157fa62f08b16f6039f78f6.zip
gdb-4e21640f674499048157fa62f08b16f6039f78f6.tar.gz
gdb-4e21640f674499048157fa62f08b16f6039f78f6.tar.bz2
Preserve addend for R_386_GOT32 and R_X86_64_GOT32
We should preserve addend for R_386_GOT32 and R_X86_64_GOT32 as in "movl $foo@GOT + 4, %eax" and "movq $foo@GOT + 4, %rax". PR gas/19600 * config/tc-i386.c (md_apply_fix): Preserve addend for BFD_RELOC_386_GOT32 and BFD_RELOC_X86_64_GOT32. * testsuite/gas/i386/addend.d: New file. * testsuite/gas/i386/addend.s: Likewise. * testsuite/gas/i386/x86-64-addend.d: Likewise. * testsuite/gas/i386/x86-64-addend.s: Likewise. * testsuite/gas/i386/i386.exp: Run addend and x86-64-addend. * testsuite/gas/i386/reloc32.d: Updated.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-i386.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 25a0fa2..8a4d987 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -9341,11 +9341,6 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
fixP->fx_done = 0;
return;
- case BFD_RELOC_386_GOT32:
- case BFD_RELOC_X86_64_GOT32:
- value = 0; /* Fully resolved at runtime. No addend. */
- break;
-
case BFD_RELOC_VTABLE_INHERIT:
case BFD_RELOC_VTABLE_ENTRY:
fixP->fx_done = 0;