Check symbol defined by assignment in linker script
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 26 Oct 2015 23:32:34 +0000 (16:32 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 26 Oct 2015 23:32:55 +0000 (16:32 -0700)
commit7b7e7f1da28585cfa49cbced50dbbd75a143cd20
tree92bc4519ea2dc65f76bd4d2d8280c3857ef55d42
parent0fde2c536bc483baa4baa2990ebebfb3a7c00415
Check symbol defined by assignment in linker script

Symbol symbol defined by an assignment in a linker script has type
bfd_link_hash_new.  elf_i386_convert_load and elf_x86_64_convert_load
should check bfd_link_hash_new to see if a symbol is defined by a linker
script.

bfd/

PR ld/19175
* elf32-i386.c (elf_i386_convert_load): Check bfd_link_hash_new
instead of calling bfd_link_get_defined_symbol.
* elf64-x86-64.c (elf_x86_64_convert_load): Likewise.  Skip
relocation overflow for bfd_link_hash_new.
* linker.c (bfd_link_get_defined_symbol): Removed.
* bfd-in2.h: Regenerated.

ld/testsuite/

PR ld/19175
* ld-i386/i386.exp: Run pr19175.
* ld-x86-64/x86-64.exp: Likewise.
* ld-i386/pr19175.d: New file.
* ld-i386/pr19175.s: Likewise.
* ld-i386/pr19175.t: Likewise.
* ld-x86-64/pr19175.d: Likewise.
* ld-x86-64/pr19175.s: Likewise.
* ld-x86-64/pr19175.t: Likewise.
14 files changed:
bfd/ChangeLog
bfd/bfd-in2.h
bfd/elf32-i386.c
bfd/elf64-x86-64.c
bfd/linker.c
ld/testsuite/ChangeLog
ld/testsuite/ld-i386/i386.exp
ld/testsuite/ld-i386/pr19175.d [new file with mode: 0644]
ld/testsuite/ld-i386/pr19175.s [new file with mode: 0644]
ld/testsuite/ld-i386/pr19175.t [new file with mode: 0644]
ld/testsuite/ld-x86-64/pr19175.d [new file with mode: 0644]
ld/testsuite/ld-x86-64/pr19175.s [new file with mode: 0644]
ld/testsuite/ld-x86-64/pr19175.t [new file with mode: 0644]
ld/testsuite/ld-x86-64/x86-64.exp