Check 64-bit relocation addend overflow for x32
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 10 May 2012 03:25:17 +0000 (03:25 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 10 May 2012 03:25:17 +0000 (03:25 +0000)
commit8cf0d2dd210b73dff4a2d63d60c49e42b86565a7
treec73a06cc9dcf7ab583730ab2273ced526febf4cd
parent968bf8f19d1668f5ad2b6cd6c7c251e72ed09756
Check 64-bit relocation addend overflow for x32

bfd/

* elf64-x86-64.c (elf_x86_64_relocate_section): Check addend
overflow for R_X86_64_RELATIVE64.

gas/

* config/tc-i386.c (tc_gen_reloc): Check x32 addend overflow
for BFD_RELOC_64.

gas/testsuite/

* gas/i386/ilp32/ilp32.exp: Run reloc64-inval.

* gas/i386/ilp32/reloc64.s: Add tests for ".quad".
* gas/i386/ilp32/reloc64.d: Updated.

* gas/i386/ilp32/reloc64-inval.l: New file.
* gas/i386/ilp32/reloc64-inval.s: Likewise.

ld/testsuite/

* ld-x86-64/ilp32-11.d: New file.
* ld-x86-64/ilp32-11.s: Likewise.

* ld-x86-64/x86-64.exp: Run ilp32-11.
14 files changed:
bfd/ChangeLog
bfd/elf64-x86-64.c
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/ChangeLog
gas/testsuite/gas/i386/ilp32/ilp32.exp
gas/testsuite/gas/i386/ilp32/reloc64-inval.l [new file with mode: 0644]
gas/testsuite/gas/i386/ilp32/reloc64-inval.s [new file with mode: 0644]
gas/testsuite/gas/i386/ilp32/reloc64.d
gas/testsuite/gas/i386/ilp32/reloc64.s
ld/testsuite/ChangeLog
ld/testsuite/ld-x86-64/ilp32-11.d [new file with mode: 0644]
ld/testsuite/ld-x86-64/ilp32-11.s [new file with mode: 0644]
ld/testsuite/ld-x86-64/x86-64.exp