diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2018-05-18 06:43:19 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2018-05-18 06:43:34 -0700 |
commit | 011b32fd4270fb7111ee1f63695ccd44562ee7df (patch) | |
tree | 110abd5acda6059b6296fa3ba26bfa65543ce9de /intl | |
parent | 4bba0fb1c6d391a217c25e44398a7e1c7090155f (diff) | |
download | binutils-011b32fd4270fb7111ee1f63695ccd44562ee7df.zip binutils-011b32fd4270fb7111ee1f63695ccd44562ee7df.tar.gz binutils-011b32fd4270fb7111ee1f63695ccd44562ee7df.tar.bz2 |
x86: Don't set eh->local_ref to 1 for linker defined symbols
Since symbols created by HIDDEN and PROVIDE_HIDDEN assignments in
linker script may be marked as defined, but not hidden, we can't
set eh->local_ref to 1 in _bfd_x86_elf_link_symbol_references_local.
Also R_386_GOT32X should be handled as just like R_386_GOT32 when
relocating a section. The input R_386_GOT32X relocations, which
can be relaxed, should have been converted to R_386_PC32, R_386_32
or R_386_GOTOFF.
bfd/
PR ld/23189
* elf32-i386.c (elf_i386_relocate_section): Handle R_386_GOT32X
like R_386_GOT32.
* elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
set eh->local_ref to 1 for linker defined symbols.
ld/
PR ld/23189
* testsuite/ld-i386/i386.exp: Run pr23189.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/ld-i386/pr23189.d: New file.
* testsuite/ld-i386/pr23189.s: Likewise.
* testsuite/ld-i386/pr23189.t: Likewise.
* testsuite/ld-x86-64/pr23189.d: Likewise.
* testsuite/ld-x86-64/pr23189.s: Likewise.
* testsuite/ld-x86-64/pr23189.t: Likewise.
Diffstat (limited to 'intl')
0 files changed, 0 insertions, 0 deletions