]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
2001-02-28 Andreas Jaeger <aj@suse.de>, Bo Thorsen <bo@suse.de>
authorAndreas Jaeger <aj@suse.de>
Wed, 28 Feb 2001 12:51:17 +0000 (12:51 +0000)
committerAndreas Jaeger <aj@suse.de>
Wed, 28 Feb 2001 12:51:17 +0000 (12:51 +0000)
* 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
gas/config/tc-i386.c

index 809204f8f89ddb278c6feb49fb91bb3a249909bd..9f8688b0babb9e9c1becc7197f1cf9c725aa3be9 100644 (file)
@@ -1,3 +1,9 @@
+2001-02-28  Andreas Jaeger  <aj@suse.de>, Bo Thorsen  <bo@suse.de>
+
+       * 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  <davidm@hpl.hp.com>
 
        * 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  <davidm@hpl.hp.com>
 
        * config/tc-ia64.c (struct unwind): Add member "prologue_count".
@@ -35,7 +41,7 @@
        From 2001-02-06  H.J. Lu  <hjl@gnu.org>
        * config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): Do fixup if
        there is no relocation.
-       
+
        From 2001-02-06  H.J. Lu  <hjl@gnu.org>
        * config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): New. Defined.
        * config/tc-ia64.c (md_parse_option): Only accept the valid
index dc1d5bd8e9e2b004df011dd0f35cfb3f23da16d8..ffcfabe6c70a2a31e172ff4516b273987558e9bd 100644 (file)
@@ -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;
     }