diff options
Diffstat (limited to 'contrib/binutils/gas/stabs.c')
-rw-r--r-- | contrib/binutils/gas/stabs.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/contrib/binutils/gas/stabs.c b/contrib/binutils/gas/stabs.c index 60b03c4..c692c2c 100644 --- a/contrib/binutils/gas/stabs.c +++ b/contrib/binutils/gas/stabs.c @@ -240,6 +240,14 @@ s_stab_generic (what, stab_secname, stabstr_secname) other = longint; desc = get_absolute_expression (); + + if ((desc > 0xffff) || (desc < -0x8000)) + /* This could happen for example with a source file with a huge + number of lines. The only cure is to use a different debug + format, probably DWARF. */ + as_warn (_(".stab%c: description field '%x' too big, try a different debug format"), + what, desc); + if (what == 's' || what == 'n') { if (*input_line_pointer != ',') |