Sun Sep 13 20:29:39 1992 Ian Lance Taylor (ian@cygnus.com)

* obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
	obj-coffbfd.c (fixup_segment): check for signed .word overflow if
	WARN_SIGNED_OVERFLOW_WORD.
This commit is contained in:
Ian Lance Taylor 1992-09-14 05:25:56 +00:00
parent ca5e9d49dd
commit e41474b77d
3 changed files with 16 additions and 0 deletions

View file

@ -1,5 +1,9 @@
Sun Sep 13 20:29:39 1992 Ian Lance Taylor (ian@cygnus.com)
* obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD.
obj-coffbfd.c (fixup_segment): check for signed .word overflow if
WARN_SIGNED_OVERFLOW_WORD.
* obj-coffbfd.c (fixup_segment): fixed missing parens in
expression checking for byte or word overflow.

View file

@ -2262,6 +2262,17 @@ segT this_segment_type)
as_bad("Value of %d too large for field of %d bytes at 0x%x",
add_number, size, fragP->fr_address + where);
} /* generic error checking */
#ifdef WARN_SIGNED_OVERFLOW_WORD
/* Warn if a .word value is too large when treated as
a signed number. We already know it is not too
negative. This is to catch over-large switches
generated by gcc on the 68k. */
if (! flagseen['J']
&& size == 2
&& add_number > 0x7fff)
as_bad ("Signed .word overflow; switch may be too large; %d at 0x%x",
add_number, fragP->fr_address + where);
#endif
} /* not a bit fix */
/* once this fix has been applied, we don't have to output anything
nothing more need be done -*/

View file

@ -23,6 +23,7 @@
#define OBJ_COFF 1
#define WORKING_DOT_WORD
#define WARN_SIGNED_OVERFLOW_WORD
#include "targ-cpu.h"