diff options
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/obj-coffbfd.c | 13 |
2 files changed, 17 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index c5502ec..33fde72 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +Fri Jan 7 09:38:25 1994 Steve Chamberlain (sac@cygnus.com) + + * config/obj-coffbfd.c (fill_section): Don't ever fill past the + end of a section. (write_object_file): Temporary fix - setup + stdoutput. + Thu Jan 6 18:05:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com) * config/tc-sparc.c (tc_gen_reloc): Fix handling of addends in diff --git a/gas/config/obj-coffbfd.c b/gas/config/obj-coffbfd.c index 3a93f36..2e42c14 100644 --- a/gas/config/obj-coffbfd.c +++ b/gas/config/obj-coffbfd.c @@ -565,7 +565,7 @@ DEFUN (fill_section, (abfd, h, file_cursor), unsigned int off = frag->fr_fix; for (count = frag->fr_offset; count; count--) { - if (fill_size < s->s_size) + if (fill_size + frag->fr_address + off < s->s_size) { memcpy (buffer + frag->fr_address + off, frag->fr_literal + frag->fr_fix, @@ -1932,10 +1932,19 @@ DEFUN_VOID (write_object_file) } coff_header_append (abfd, &headers); - +#if 0 + /* Recent changes to write need this, but where it should + go is up to Ken.. */ if (bfd_close_all_done (abfd) == false) as_fatal ("Can't close %s: %s", out_file_name, bfd_errmsg (bfd_error)); +#else + { + extern bfd *stdoutput; + stdoutput = abfd; + } +#endif + } /* Add a new segment. This is called from subseg_new via the |