From 7c44d1d36023fecce76b8805c7349af3be41e0f2 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Wed, 28 Feb 2001 12:49:40 +0000 Subject: [PATCH] 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. --- gas/ChangeLog | 10 ++++++++-- gas/config/tc-i386.c | 11 +---------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 712d237e8c1..879405e0168 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-27 Alan Modra * configure.in (BFD_VERSION): New. @@ -37,7 +43,7 @@ * Makefile.in: Regenerated. * configure.in: Added configuration for ia64-*-aix*. * configure: Regenerated. - + 2001-02-21 David Mosberger * config/tc-ia64.c (enum operand_match_result): New type. @@ -47,7 +53,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". diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 105848dd64f..f3249ff7c4a 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -4197,7 +4197,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 @@ -4782,15 +4782,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; } -- 2.30.2