diff options
author | Ken Raeburn <raeburn@cygnus> | 1994-04-05 18:16:37 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@cygnus> | 1994-04-05 18:16:37 +0000 |
commit | a7129c48cf54c09f9a3465a58e78fbc434b0e86c (patch) | |
tree | 69c96a28210ba3ba1988c96274216f46c433a4da | |
parent | 856613c4fe05e5b424d9e9f174c4dd5c922c40b3 (diff) | |
download | gdb-a7129c48cf54c09f9a3465a58e78fbc434b0e86c.zip gdb-a7129c48cf54c09f9a3465a58e78fbc434b0e86c.tar.gz gdb-a7129c48cf54c09f9a3465a58e78fbc434b0e86c.tar.bz2 |
(s_reserve): If section passed isn't bss, don't spew remainder of input file in
error message.
(tc_gen_reloc): If bfd_reloc_type_lookup returns null, print error
message with reloc type and try to process remainder of file.
-rw-r--r-- | gas/config/tc-sparc.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c index 4274ded..7574e16 100644 --- a/gas/config/tc-sparc.c +++ b/gas/config/tc-sparc.c @@ -202,7 +202,7 @@ s_reserve (ignore) if (strncmp (input_line_pointer, ",\"bss\"", 6) != 0 && strncmp (input_line_pointer, ",\".bss\"", 7) != 0) { - as_bad ("bad .reserve segment: `%s'", input_line_pointer); + as_bad ("bad .reserve segment -- expected BSS segment", input_line_pointer); return; } @@ -2110,7 +2110,13 @@ tc_gen_reloc (section, fixp) abort (); } reloc->howto = bfd_reloc_type_lookup (stdoutput, code); - assert (reloc->howto != 0); + if (reloc->howto == 0) + { + as_bad_where (fixp->fx_file, fixp->fx_line, + "internal error: can't export reloc type %d", + fixp->fx_r_type); + return 0; + } assert (!fixp->fx_pcrel == !reloc->howto->pc_relative); /* @@ Why fx_addnumber sometimes and fx_offset other times? */ |