* srec.c (pass_over): Set the start address for S7, S8 or S9.
authorIan Lance Taylor <ian@airs.com>
Mon, 17 Oct 1994 15:39:37 +0000 (15:39 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 17 Oct 1994 15:39:37 +0000 (15:39 +0000)
bfd/ChangeLog
bfd/srec.c

index dd13130f0efb4c0b053709fe399e5fcd521fd022..0e705e6e0ae208bbc843f4ffbe6603217e4ba5e0 100644 (file)
@@ -1,3 +1,7 @@
+Mon Oct 17 11:38:16 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+       * srec.c (pass_over): Set the start address for S7, S8 or S9.
+
 Fri Oct 14 19:15:46 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
 
        * VERSION: Updated to 2.5.
index a2be04ff50160f0cdc0b180f88dd3290cb64d474..22f9eff5cbbb9072f735066ed5c02cfbfbc36ce9 100644 (file)
@@ -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;
            }