diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-09-06 05:06:35 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-09-06 05:06:35 -0700 |
commit | 78984959cb385388e29dcc88dc169449344f22d7 (patch) | |
tree | 728839140d195a3653a3e33e5957ecab476f09e8 /bfd/elfxx-x86.h | |
parent | 419414eafcee7cd749ee4622ef25020e48b52cc4 (diff) | |
download | gdb-78984959cb385388e29dcc88dc169449344f22d7.zip gdb-78984959cb385388e29dcc88dc169449344f22d7.tar.gz gdb-78984959cb385388e29dcc88dc169449344f22d7.tar.bz2 |
x86-64: Add R_X86_64_converted_reloc_bit
Add R_X86_64_converted_reloc_bit to relocation type to indicate if a
relocation is converted from a GOTPCREL relocation. Linker now generates
failed to convert GOTPCREL relocation; relink with --no-relax
for all cases, including relocations against local symbols.
bfd/
* elf64-x86-64.c (R_X86_64_converted_reloc_bit): New.
(elf_x86_64_info_to_howto): Get the real relocation type by
masking out R_X86_64_converted_reloc_bit.
(elf_x86_64_check_tls_transition): Get the real relocation type
by masking out R_X86_64_converted_reloc_bit.
(elf_x86_64_convert_load_reloc): Set R_X86_64_converted_reloc_bit
instead of setting converted_reloc.
(elf_x86_64_relocate_section): Check R_X86_64_converted_reloc_bit
instead of converted_reloc. Get the real relocation type by
masking out R_X86_64_converted_reloc_bit.
(elf_x86_64_link_setup_gnu_properties): Verify that the value of
R_X86_64_converted_reloc_bit is valid.
* elfxx-x86.h (converted_reloc): Removed.
ld/
* testsuite/ld-x86-64/pr19609-2a.d: Updated.
* testsuite/ld-x86-64/pr19609-2b.d: Likewise.
* testsuite/ld-x86-64/pr19609-4a.d: Likewise.
* testsuite/ld-x86-64/pr19609-4c.d: Likewise.
Diffstat (limited to 'bfd/elfxx-x86.h')
-rw-r--r-- | bfd/elfxx-x86.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/bfd/elfxx-x86.h b/bfd/elfxx-x86.h index 775e025..9c0dcbbe 100644 --- a/bfd/elfxx-x86.h +++ b/bfd/elfxx-x86.h @@ -110,11 +110,6 @@ struct elf_x86_link_hash_entry is only used by x86-64. */ unsigned int needs_copy : 1; - /* TRUE if a symbol with GOTPCREL relocations which have been converted - to R_X86_64_PC32, R_X86_64_32 or R_X86_64_32S. This is only used by - x86-64 for now. */ - unsigned int converted_reloc : 1; - /* Reference count of C/C++ function pointer relocations in read-write section which can be resolved at run-time. */ bfd_signed_vma func_pointer_refcount; |