Change S-record backend to use multiple sections to handle gaps in
authorIan Lance Taylor <ian@airs.com>
Mon, 24 Oct 1994 20:08:33 +0000 (20:08 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 24 Oct 1994 20:08:33 +0000 (20:08 +0000)
commitfd9a6abc83c76326c37812b0f817dfda932c47e3
tree0984ce79491d692800d895ba3f46b4c10f5cb6cd
parenta56f23aeb92540db745ece22c6fb4707e82beb65
Change S-record backend to use multiple sections to handle gaps in
file.
* srec.c (srec_data_list_struct): Move field next from last place
to first.  Change type of data to bfd_byte *.
(struct srec_symbol): Define.
(tdata_type): Remove done_symbol_read, count, strings, symbol_idx,
string_size, string_idx.  Change type of symbols to struct
srec_symbol *.  Add symtail and csymbols.
(low, high): Remove.
(size_symbols, fillup_symbols, size_srec, fillup): Remove.
(white, skipwhite, pass_over, object_p): Remove.
(srec_mkobject): Call srec_init.  Adjust tdata initialization for
field changes.
(srec_get_byte, srec_bad_byte): New static functions.
(srec_new_symbol, srec_scan): New static functions.
(srec_object_p): Change type of b to bfd_byte.  Explicitly set
wrong_format error.  Call srec_mkobject and srec_scan instead of
object_p.
(symbolsrec_object_p): Likewise.  Also, change b to be only two
bytes.
(srec_read_section): New static function.
(srec_get_section_contents): Call srec_read_section rather than
pass_over.  Handle zero length section correctly.
(set_set_arch_mach): Change from function to macro.
(srec_set_section_contents): Change data to bfd_byte *.
(srec_write_record): Change data, end and src to bfd_byte *.
(srec_write_header): Change buffer and dst to bfd_byte *.
(srec_write_section): Change location to bfd_byte *.
(srec_write_terminator): Change buffer to bfd_byte *.
(srec_get_symtab_upper_bound): Don't call
srec_get_section_contents.
(srec_get_symtab): Rewrite.
bfd/ChangeLog