From: Michael Meissner Date: Fri, 11 Aug 1995 17:36:54 +0000 (+0000) Subject: Allow large addends for BFD_RELOC_{LO16,HI16,HI16_S} relocs. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c7d7eed0a8b93293083e3d0bcab31fb0229c862f;p=binutils-gdb.git Allow large addends for BFD_RELOC_{LO16,HI16,HI16_S} relocs. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 4d0f32a1cf9..1740cf438bd 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,13 @@ +Fri Aug 11 13:23:56 1995 Michael Meissner + + * 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 * read.c (s_mri_sect) [BFD_ASSEMBLER]: Fix typos in choosing and diff --git a/gas/write.c b/gas/write.c index ae7d8eea734..11910798382 100644 --- a/gas/write.c +++ b/gas/write.c @@ -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))