Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
This patch updates gold to treat the R_X86_64_GOTPCRELX and
R_X86_64_REX_GOTPCRELX relocations proposed in
https://groups.google.com/forum/#!topic/x86-64-abi/n9AWHogmVY0
the same as R_X86_64_GOTPCREL. FIXME: Gold should perform the
transformations as suggested.
elfcpp/
* x86_64.h (R_X86_64_GOTPCRELX): New.
(R_X86_64_REX_GOTPCRELX): Likewise.
gold/
* x86_64.cc (Target_x86_64<size>::Scan::get_reference_flags):
Treat R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX the same
as R_X86_64_GOTPCREL.
(Target_x86_64<size>::Scan::local): Likewise.
(Target_x86_64<size>::Scan::possible_function_pointer_reloc):
Likewise.
(Target_x86_64<size>::Scan::global): Likewise.
(Target_x86_64<size>::Relocate::relocate): Likewise.
(Target_x86_64<size>::Relocatable_size_for_reloc::get_size_for_reloc):
Likewise.
|
|
|
|
|
|
elfcpp/
* x86_64.h (R_X86_64_PC32_BND): New.
(R_X86_64_PLT32_BND): Likewise.
gold/
* x86_64.cc (Target_x86_64<size>::Scan::get_reference_flags):
Handle R_X86_64_PC32_BND and R_X86_64_PLT32_BND just like
R_X86_64_PC32 and R_X86_64_PLT32, respectively.
(Target_x86_64<size>::Scan::local): Likewise.
(Target_x86_64<size>::Scan::global): Likewise.
(Target_x86_64<size>::Relocate::relocate): Likewise.
(Target_x86_64<size>::Relocatable_size_for_reloc::get_size_for_reloc):
Likewise.
(Target_x86_64<size>::Scan::check_non_pic(): Handle
R_X86_64_PC32_BND.
* testsuite/Makefile.am (check_PROGRAMS): Add
exception_x86_64_bnd_test.
(exception_x86_64_bnd_test_SOURCES): New macro.
(exception_x86_64_bnd_test_DEPENDENCIES): Likewise.
(exception_x86_64_bnd_test_LDFLAGS): Likewise.
(exception_x86_64_bnd_test_LDADD): Likewise.
(exception_x86_64_bnd_1.o): New rule.
(exception_x86_64_bnd_2.o): Likewise.
* testsuite/Makefile.in: Regenerated.
|
|
elfcpp/
PR gold/14091
* x86_64.h (R_X86_64_RELATIVE64): New.
gold/
PR gold/14091
* x86_64.cc (Target_x86_64::Scan::local): For x32, generate
R_X86_64_RELATIVE64 instead of R_X86_64_RELATIVE in case of
R_X86_64_64.
|
|
* i386.h (R_386_IRELATIVE): Define.
* powerpc.h (R_POWERPC_IRELATIVE): Define.
(R_PPC_RELAX32, R_PPC_RELAX32PC): Don't define.
(R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Don't define.
* sparc.h (R_SPARC_IRELATIVE): Define.
* x86_64.h (R_X86_64_IRELATIVE): Define.
(R_X86_64_GNU_VTINHERIT): Rename from R_386_GNU_VTINHERIT.
(R_X86_64_GNU_VTENTRY): Rename from R_386_GNU_VTENTRY.
gold:/
* x86_64.cc (Target_x86_64::Scan::local): Use
R_X86_64_GNU_VTINHERIT instead of R_386_GNU_VTINHERIT and
R_X86_64_GNU_VTENTRY instead of R_386_GNU_VTENTRY.
(Target_x86_64::Scan::global): Likewise.
(Target_x86_64::Relocate::relocate): Likewise.
(Target_x86_64::Relocatable_size_for_reloc::get_size_for_reloc):
Likewise.
|
|
|
|
|
|
|
|
|