Fix -mrelocatable
authorMichael Meissner <gnu@the-meissners.org>
Wed, 29 Nov 1995 18:17:24 +0000 (18:17 +0000)
committerMichael Meissner <gnu@the-meissners.org>
Wed, 29 Nov 1995 18:17:24 +0000 (18:17 +0000)
gas/ChangeLog
gas/config/tc-ppc.c

index 1070a2578c3e8fc8ef413e632cf06735f51980ed..77d314d7ef461c9d8bd0f399d918830e88570fed 100644 (file)
@@ -1,3 +1,9 @@
+Wed Nov 29 13:00:20 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * config/tc-ppc.c (md_apply_fix3): Don't adjust the value for 32
+       bit relocs converted to PC relative relocs.  This turned out to
+       add the offset from the beginning of .text twice.
+
 Tue Nov 28 10:42:36 1995  Ken Raeburn  <raeburn@cygnus.com>
 
        * stabs.c (s_stab_generic): In 's' case, free string from
index 3b66929500927177eec79cd30ae56226b2016f91..f6ec614a465a55b5f39afc27299632b5cab386db 100644 (file)
@@ -4184,10 +4184,8 @@ md_apply_fix3 (fixp, valuep, seg)
        case BFD_RELOC_32:
        case BFD_RELOC_CTOR:
          if (fixp->fx_pcrel)
-           {
-             fixp->fx_r_type = BFD_RELOC_32_PCREL;
-             value += fixp->fx_frag->fr_address + fixp->fx_where;
-           }                   /* fall through */
+           fixp->fx_r_type = BFD_RELOC_32_PCREL;
+                                       /* fall through */
 
        case BFD_RELOC_RVA:
        case BFD_RELOC_32_PCREL: