From: Andreas Jaeger Date: Wed, 28 Feb 2001 12:51:17 +0000 (+0000) Subject: 2001-02-28 Andreas Jaeger , Bo Thorsen X-Git-Tag: binutils-2_11~38 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7e46e39f51eb04c5b380bca51bdcea5319bcd753;p=thirdparty%2Fbinutils-gdb.git 2001-02-28 Andreas Jaeger , Bo Thorsen * config/tc-i386.c (tc_gen_reloc): Remove ugly hack which is not needed anymore since we use bfd_elf_generic_reloc now. (md_apply_fix3): Only apply hack for partial_inplace if not using RELA. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 809204f8f89..9f8688b0bab 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2001-02-28 Andreas Jaeger , Bo Thorsen + + * config/tc-i386.c (tc_gen_reloc): Remove ugly hack which is not needed + anymore since we use bfd_elf_generic_reloc now. + (md_apply_fix3): Only apply hack for partial_inplace if not using RELA. + 2001-02-21 David Mosberger * config/tc-ia64.c (enum operand_match_result): New type. @@ -7,7 +13,7 @@ (parse_operands): New locals result, error_pos, out_of_range_pos, curr_out_of_range_pos. Rewrite operand matching loop to give better error messages. - + 2001-02-21 David Mosberger * config/tc-ia64.c (struct unwind): Add member "prologue_count". @@ -35,7 +41,7 @@ From 2001-02-06 H.J. Lu * config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): Do fixup if there is no relocation. - + From 2001-02-06 H.J. Lu * config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): New. Defined. * config/tc-ia64.c (md_parse_option): Only accept the valid diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index dc1d5bd8e9e..ffcfabe6c70 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -4121,7 +4121,7 @@ md_apply_fix3 (fixP, valp, seg) if ((fixP->fx_r_type == BFD_RELOC_32_PCREL || fixP->fx_r_type == BFD_RELOC_16_PCREL || fixP->fx_r_type == BFD_RELOC_8_PCREL) - && fixP->fx_addsy) + && fixP->fx_addsy && !use_rela_relocations) { #ifndef OBJ_AOUT if (OUTPUT_FLAVOR == bfd_target_elf_flavour @@ -4706,15 +4706,6 @@ tc_gen_reloc (section, fixp) else { rel->addend = fixp->fx_offset; -#ifdef OBJ_ELF - /* Ohhh, this is ugly. The problem is that if this is a local global - symbol, the relocation will entirely be performed at link time, not - at assembly time. bfd_perform_reloc doesn't know about this sort - of thing, and as a result we need to fake it out here. */ - if ((S_IS_EXTERN (fixp->fx_addsy) || S_IS_WEAK (fixp->fx_addsy)) - && !S_IS_COMMON (fixp->fx_addsy)) - rel->addend -= symbol_get_bfdsym (fixp->fx_addsy)->value; -#endif if (fixp->fx_pcrel) rel->addend -= fixp->fx_size; }