aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1999-09-12 03:18:54 +0000
committerIan Lance Taylor <ian@airs.com>1999-09-12 03:18:54 +0000
commit79d292aaa21b1e3a5d413cf40397aa09e260b6ad (patch)
treeff9eea2697e367d99ca13873fa7d9f9c195427b6
parent7a6284c477f914e1c4a9264feadc08733c745ee3 (diff)
downloadgdb-79d292aaa21b1e3a5d413cf40397aa09e260b6ad.zip
gdb-79d292aaa21b1e3a5d413cf40397aa09e260b6ad.tar.gz
gdb-79d292aaa21b1e3a5d413cf40397aa09e260b6ad.tar.bz2
1999-09-11 Donn Terry <donn@interix.com>
* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust relocations against global symbols if TE_PE.
-rw-r--r--gas/ChangeLog3
-rw-r--r--gas/config/tc-i386.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 075e8c4..c41533d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -5,6 +5,9 @@
1999-09-11 Donn Terry <donn@interix.com>
+ * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
+ relocations against global symbols if TE_PE.
+
* config/obj-coff.c (obj_coff_ident): Add BFD_ASSEMBLER version.
(obj_pseudo_table): Always handle ".ident" with obj-coff_ident.
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 0148f72..7b1ac08 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -941,8 +941,9 @@ int
tc_i386_fix_adjustable(fixP)
fixS * fixP;
{
-#ifdef OBJ_ELF
- /* Prevent all adjustments to global symbols. */
+#if defined (OBJ_ELF) || defined (TE_PE)
+ /* Prevent all adjustments to global symbols, or else dynamic
+ linking will not work correctly. */
if (S_IS_EXTERN (fixP->fx_addsy))
return 0;
if (S_IS_WEAK (fixP->fx_addsy))