diff options
author | DJ Delorie <dj@redhat.com> | 2000-06-25 01:33:31 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2000-06-25 01:33:31 +0000 |
commit | 6d249963bc2ecdc346965307b446cccb7b6cbd28 (patch) | |
tree | 450d240f754679773156d2c98e3f0bbffc24edc1 | |
parent | b1bcb49f9cd1af171b2a5c9932b7625dc1db2b37 (diff) | |
download | gdb-6d249963bc2ecdc346965307b446cccb7b6cbd28.zip gdb-6d249963bc2ecdc346965307b446cccb7b6cbd28.tar.gz gdb-6d249963bc2ecdc346965307b446cccb7b6cbd28.tar.bz2 |
386.c (md_estimate_size_before_relax): Revert
more changes from Sept 1999
(tc_i386_fix_adjustable): ditto
(md_apply_fix3): ditto
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 30 |
2 files changed, 9 insertions, 28 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 379302c..b42a606 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 6ab93c5..eebd49f 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. */ |