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 4d0f32a1cf9e7d7c8eb874d41f0d6cb3d11a5398..1740cf438bd1f1f068f06374fc3ea3cf032b5f3f 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 ae7d8eea7345fcf3b37a7b258bb2776e1a4eb4ad..1191079838298743d9c83f718be45fa810f83dde 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))