Preserve addend for R_386_GOT32 and R_X86_64_GOT32
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 20 May 2016 13:01:28 +0000 (06:01 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 20 May 2016 13:01:28 +0000 (06:01 -0700)
commit4e21640f674499048157fa62f08b16f6039f78f6
tree27085915ea4a643164975a5d4837d325a5532b56
parent17c6c9d9f3e71459edb4b6af5ec75125f0d06f87
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.
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/addend.d [new file with mode: 0644]
gas/testsuite/gas/i386/addend.s [new file with mode: 0644]
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/reloc32.d
gas/testsuite/gas/i386/x86-64-addend.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-addend.s [new file with mode: 0644]