diff options
Diffstat (limited to 'gas/config/obj-coffbfd.c')
-rw-r--r-- | gas/config/obj-coffbfd.c | 13 |
1 files changed, 11 insertions, 2 deletions
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 |