aboutsummaryrefslogtreecommitdiff
path: root/gas/config/obj-coffbfd.c
diff options
context:
space:
mode:
Diffstat (limited to 'gas/config/obj-coffbfd.c')
-rw-r--r--gas/config/obj-coffbfd.c13
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