From 5e643795a3cad22ba84a0b0a93b72061d6fc64c3 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Mon, 17 Oct 1994 15:39:37 +0000 Subject: [PATCH] * srec.c (pass_over): Set the start address for S7, S8 or S9. --- bfd/ChangeLog | 4 ++++ bfd/srec.c | 20 +++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index dd13130f0e..0e705e6e0a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +Mon Oct 17 11:38:16 1994 Ian Lance Taylor + + * srec.c (pass_over): Set the start address for S7, S8 or S9. + Fri Oct 14 19:15:46 1994 Ken Raeburn * VERSION: Updated to 2.5. diff --git a/bfd/srec.c b/bfd/srec.c index a2be04ff50..22f9eff5cb 100644 --- a/bfd/srec.c +++ b/bfd/srec.c @@ -246,7 +246,7 @@ fillup_symbols (abfd, buf, len, val) abfd->tdata.srec_data->string_idx += len + 1; p->value = val; p->flags = BSF_EXPORT | BSF_GLOBAL; - p->section = &bfd_abs_section; + p->section = bfd_abs_section_ptr; p->udata = 0; } } @@ -460,6 +460,24 @@ pass_over (abfd, func, symbolfunc, section) bytes_on_line -= 2; func (abfd, section, address, src, bytes_on_line); break; + + case '7': + address = HEX (src); + src += 2; + bytes_on_line--; + case '8': + address = HEX (src) | (address << 8); + src += 2; + bytes_on_line--; + case '9': + address = HEX (src) | (address << 8); + src += 2; + address = HEX (src) | (address << 8); + src += 2; + bytes_on_line -= 2; + abfd->start_address = address; + return; + default: return; }