Allow large addends for BFD_RELOC_{LO16,HI16,HI16_S} relocs.
authorMichael Meissner <gnu@the-meissners.org>
Fri, 11 Aug 1995 17:36:54 +0000 (17:36 +0000)
committerMichael Meissner <gnu@the-meissners.org>
Fri, 11 Aug 1995 17:36:54 +0000 (17:36 +0000)
gas/ChangeLog
gas/write.c

index 4d0f32a..1740cf4 100644 (file)
@@ -1,3 +1,13 @@
+Fri Aug 11 13:23:56 1995  Michael Meissner  <meissner@cygnus.com>
+
+       * write.h (struct fix): Add new field fx_no_overflow.
+
+       * write.c (fixup_segment): If fx_no_overflow is non-zero, don't
+       complain if the addend is too large.
+
+       * config/tc-ppc.c (md_assemble): Set fx_no_overflow if the half
+       word relocations BFD_RELOC_{LO16,HI16,HI16_S}.
+
 Thu Aug 10 20:56:38 1995  Ken Raeburn  <raeburn@cygnus.com>
 
        * read.c (s_mri_sect) [BFD_ASSEMBLER]: Fix typos in choosing and
index ae7d8ee..1191079 100644 (file)
@@ -2391,7 +2391,7 @@ fixup_segment (fixP, this_segment_type)
            }
        }
 
-      if (!fixP->fx_bit_fixP && size > 0)
+      if (!fixP->fx_bit_fixP && !fixP->fx_no_overflow && size > 0)
        {
          valueT mask = 0;
          if (size < sizeof (mask))