From 27aaeda0cdf9f69625b96e3abdb25c8fdbbb3435 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 18 Mar 2015 16:19:59 +0000 Subject: [PATCH] Fixes a problem generating relocs for import libraries created by Microsoft tools for the x85_64 architecture. PR ld/16598 * peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs suitable for the AMD64. --- bfd/ChangeLog | 6 ++++++ bfd/peicode.h | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c5f109e161..dcc93fddaa 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2015-03-18 Eric Youngdale + + PR ld/16598 + * peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs + suitable for the AMD64. + 2015-03-18 Jon Turney Nick Clifton diff --git a/bfd/peicode.h b/bfd/peicode.h index e36568aa20..200ef5e884 100644 --- a/bfd/peicode.h +++ b/bfd/peicode.h @@ -972,6 +972,15 @@ pe_ILF_build_a_bfd (bfd * abfd, imp_index); } else +#endif +#ifdef AMD64MAGIC + if (magic == AMD64MAGIC) + { + pe_ILF_make_a_symbol_reloc (&vars, (bfd_vma) jtab[i].offset, + BFD_RELOC_32_PCREL, (asymbol **) imp_sym, + imp_index); + } + else #endif pe_ILF_make_a_symbol_reloc (&vars, (bfd_vma) jtab[i].offset, BFD_RELOC_32, (asymbol **) imp_sym,