From 03a372ed70ea5a518c98b6bc005162b014b2801d Mon Sep 17 00:00:00 2001 From: Steve Chamberlain Date: Fri, 7 Jan 1994 17:42:34 +0000 Subject: [PATCH] * config/obj-coffbfd.c (fill_section): Don't ever fill past the end of a section. (write_object_file): Temporary fix - setup stdoutput. --- gas/ChangeLog | 6 ++++++ gas/config/obj-coffbfd.c | 13 +++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index c5502ec96f..33fde72251 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 3a93f363ba..2e42c144f8 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