(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.
This commit is contained in:
Ken Raeburn
1994-04-05 18:16:37 +00:00
parent 856613c4fe
commit a7129c48cf

View File

@ -202,7 +202,7 @@ s_reserve (ignore)
if (strncmp (input_line_pointer, ",\"bss\"", 6) != 0 if (strncmp (input_line_pointer, ",\"bss\"", 6) != 0
&& strncmp (input_line_pointer, ",\".bss\"", 7) != 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; return;
} }
@ -2110,7 +2110,13 @@ tc_gen_reloc (section, fixp)
abort (); abort ();
} }
reloc->howto = bfd_reloc_type_lookup (stdoutput, code); 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); assert (!fixp->fx_pcrel == !reloc->howto->pc_relative);
/* @@ Why fx_addnumber sometimes and fx_offset other times? */ /* @@ Why fx_addnumber sometimes and fx_offset other times? */