From 493d4b48decc2b3c5fe9d2df68bcee67fdd8b7cb Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 22 Oct 2015 04:54:42 -0700 Subject: Gold: Don't fail on R_386_GOT32X relocation This patch updates gold to treat the R_386_GOT32X relocation proposed in https://groups.google.com/forum/#!topic/ia32-abi/GbJJskkid4I the same as R_386_GOT32. FIXME: Gold should perform the transformations as suggested. elfcpp/ * i386.h (R_386_GOT32X): New. gold/ * i386.cc (Target_i386::Scan::get_reference_flags(): Treat R_386_GOT32X the same as R_386_GOT32. (Target_i386::Scan::local): Likewise. (Target_i386::Scan::possible_function_pointer_reloc): Likewise. (Target_i386::Scan::global): Likewise. (Target_i386::Relocate::relocate): Likewise. (Target_i386::Relocatable_size_for_reloc::get_size_for_reloc): Likewise. --- elfcpp/ChangeLog | 4 ++++ elfcpp/i386.h | 1 + 2 files changed, 5 insertions(+) (limited to 'elfcpp') diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog index 18c1d5a..c0f1698 100644 --- a/elfcpp/ChangeLog +++ b/elfcpp/ChangeLog @@ -1,3 +1,7 @@ +2015-10-22 H.J. Lu + + * i386.h (R_386_GOT32X): New. + 2015-10-13 H.J. Lu PR gold/19118 diff --git a/elfcpp/i386.h b/elfcpp/i386.h index 16fdef8..9d57a0f 100644 --- a/elfcpp/i386.h +++ b/elfcpp/i386.h @@ -86,6 +86,7 @@ enum R_386_TLS_DESC = 41, // TLS descriptor containing pointer to code and // to argument, returning TLS offset for symbol R_386_IRELATIVE = 42, // Adjust indirectly by program base + R_386_GOT32X = 43, // 32 bit GOT entry, relaxable // Used by Intel. R_386_USED_BY_INTEL_200 = 200, // GNU vtable garbage collection extensions. -- cgit v1.1