aboutsummaryrefslogtreecommitdiff
path: root/ld/pe-dll.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2007-03-16 15:13:21 +0000
committerNick Clifton <nickc@redhat.com>2007-03-16 15:13:21 +0000
commit591a748af9fb110937669a59bcf60fee440f2042 (patch)
treeab7f28f106653bb37bc3b39e5a1ec95b342a1240 /ld/pe-dll.c
parent29975052f1690bab530c126559a7a638af23134c (diff)
downloadfsf-binutils-gdb-591a748af9fb110937669a59bcf60fee440f2042.zip
fsf-binutils-gdb-591a748af9fb110937669a59bcf60fee440f2042.tar.gz
fsf-binutils-gdb-591a748af9fb110937669a59bcf60fee440f2042.tar.bz2
Use pc-relative relocation instead of an absolute relocation for x86_64-pc-mingw32 target.
Diffstat (limited to 'ld/pe-dll.c')
-rw-r--r--ld/pe-dll.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ld/pe-dll.c b/ld/pe-dll.c
index a7951c9..e3d87a6 100644
--- a/ld/pe-dll.c
+++ b/ld/pe-dll.c
@@ -1975,7 +1975,11 @@ make_one (def_file_export *exp, bfd *parent, bfd_boolean include_jmp_stub)
switch (pe_details->pe_arch)
{
case PE_ARCH_i386:
- quick_reloc (abfd, 2, BFD_RELOC_32, 2);
+#ifdef pe_use_x86_64
+ quick_reloc (abfd, 2, BFD_RELOC_32_PCREL, 2);
+#else
+ quick_reloc (abfd, 2, BFD_RELOC_32, 2);
+#endif
break;
case PE_ARCH_sh:
quick_reloc (abfd, 8, BFD_RELOC_32, 2);