summaryrefslogtreecommitdiffstats
path: root/gas
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2000-06-25 01:33:31 +0000
committerDJ Delorie <dj@redhat.com>2000-06-25 01:33:31 +0000
commit6d249963bc2ecdc346965307b446cccb7b6cbd28 (patch)
tree450d240f754679773156d2c98e3f0bbffc24edc1 /gas
parentb1bcb49f9cd1af171b2a5c9932b7625dc1db2b37 (diff)
downloadppe42-binutils-6d249963bc2ecdc346965307b446cccb7b6cbd28.tar.gz
ppe42-binutils-6d249963bc2ecdc346965307b446cccb7b6cbd28.zip
386.c (md_estimate_size_before_relax): Revert
more changes from Sept 1999 (tc_i386_fix_adjustable): ditto (md_apply_fix3): ditto
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-i386.c30
2 files changed, 9 insertions, 28 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 379302cd88..b42a606385 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2000-06-24 DJ Delorie <dj@cygnus.com>
+
+ * config/tc-i386.c (md_estimate_size_before_relax): Revert
+ more changes from Sept 1999
+ (tc_i386_fix_adjustable): ditto
+ (md_apply_fix3): ditto
+
2000-06-24 Frank Ch. Eigler <fche@redhat.com>
* cgen.c (expr_jmp_buf_p): New validity flag for expr_jmp_buf.
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 6ab93c5ac9..eebd49fe11 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -1023,7 +1023,7 @@ int
tc_i386_fix_adjustable (fixP)
fixS * fixP;
{
-#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) || defined (TE_PE)
+#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
/* Prevent all adjustments to global symbols, or else dynamic
linking will not work correctly. */
if (S_IS_EXTERNAL (fixP->fx_addsy)
@@ -3776,7 +3776,7 @@ md_estimate_size_before_relax (fragP, segment)
an externally visible symbol, because it may be overridden by a
shared library. */
if (S_GET_SEGMENT (fragP->fr_symbol) != segment
-#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) || defined (TE_PE)
+#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
|| S_IS_EXTERNAL (fragP->fr_symbol)
|| S_IS_WEAK (fragP->fr_symbol)
#endif
@@ -4038,34 +4038,8 @@ md_apply_fix3 (fixP, valp, seg)
address offset for a PC relative symbol. */
if (S_GET_SEGMENT (fixP->fx_addsy) != seg)
value += md_pcrel_from (fixP);
- else if (S_IS_EXTERNAL (fixP->fx_addsy)
- || S_IS_WEAK (fixP->fx_addsy))
- {
- /* We are generating an external relocation for this defined
- symbol. We add the address, because
- bfd_install_relocation will subtract it. VALUE already
- holds the symbol value, because fixup_segment added it
- in. We subtract it out, and then we subtract it out
- again because bfd_install_relocation will add it in
- again. */
- value += md_pcrel_from (fixP);
- value -= 2 * S_GET_VALUE (fixP->fx_addsy);
- }
#endif
}
-#ifdef TE_PE
- else if (fixP->fx_addsy != NULL
- && S_IS_DEFINED (fixP->fx_addsy)
- && (S_IS_EXTERNAL (fixP->fx_addsy)
- || S_IS_WEAK (fixP->fx_addsy)))
- {
- /* We are generating an external relocation for this defined
- symbol. VALUE already holds the symbol value, and
- bfd_install_relocation will add it in again. We don't want
- either addition. */
- value -= 2 * S_GET_VALUE (fixP->fx_addsy);
- }
-#endif
/* Fix a few things - the dynamic linker expects certain values here,
and we must not dissappoint it. */
OpenPOWER on IntegriCloud