aboutsummaryrefslogtreecommitdiff
path: root/bfd/srec.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1994-10-17 15:39:37 +0000
committerIan Lance Taylor <ian@airs.com>1994-10-17 15:39:37 +0000
commit5e643795a3cad22ba84a0b0a93b72061d6fc64c3 (patch)
tree629321ff6c19b7bcf7882392db481060bcb148e5 /bfd/srec.c
parentea315e99d6b17788e8a2956c2c0a3a4f075f72ba (diff)
downloadgdb-5e643795a3cad22ba84a0b0a93b72061d6fc64c3.zip
gdb-5e643795a3cad22ba84a0b0a93b72061d6fc64c3.tar.gz
gdb-5e643795a3cad22ba84a0b0a93b72061d6fc64c3.tar.bz2
* srec.c (pass_over): Set the start address for S7, S8 or S9.
Diffstat (limited to 'bfd/srec.c')
-rw-r--r--bfd/srec.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/bfd/srec.c b/bfd/srec.c
index a2be04f..22f9eff 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;
}