37 lines
1010 B
Diff
37 lines
1010 B
Diff
From 27aaeda0cdf9f69625b96e3abdb25c8fdbbb3435 Mon Sep 17 00:00:00 2001
|
|
From: Nick Clifton <nickc@redhat.com>
|
|
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 x86_64 architecture.
|
|
|
|
PR ld/16598
|
|
* peicode.h (pe_ILF_build_a_bfd): Add support for creating relocs
|
|
suitable for the AMD64.
|
|
---
|
|
bfd/peicode.h | 9 +++++++++
|
|
1 files changed, 9 insertions(+)
|
|
|
|
diff --git a/bfd/peicode.h b/bfd/peicode.h
|
|
index e36568a..200ef5e 100644
|
|
--- a/bfd/peicode.h
|
|
+++ b/bfd/peicode.h
|
|
@@ -973,6 +973,15 @@ pe_ILF_build_a_bfd (bfd * abfd,
|
|
}
|
|
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,
|
|
imp_index);
|
|
--
|
|
2.4.0
|
|
|