aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/coffcode.h6
2 files changed, 10 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d29d449..cb2322d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,9 @@
Mon Oct 21 09:34:11 1991 Steve Chamberlain (steve at rtl.cygnus.com)
+ * coffcode.h (coff_compute_section_file_positions): make it pad
+ section size out if there are alignment restrictions so that the
+ image will be ok on a system where section positions are worked
+ out by accumulating sizes rather than from the section headers.
* targets.c (proto write_armap). Changed orl_count to unsigned.
* opncls.c (bfd_close_all_done). Added so that generative
programs like gas can close a bfd without causing bfd confusion.
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index b359f51..bfa0036 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -2011,7 +2011,13 @@ DEFUN(coff_compute_section_file_positions,(abfd),
do this (FIXME) so we can stay in sync with Intel. 960
doesn't yet page from files... */
#ifndef I960
+ {
+ /* Whatever the alignment, make sure that the sections are big
+ enough to cover the gap */
+ bfd_vma old_sofar= sofar;
sofar = ALIGN(sofar, 1 << current->alignment_power);
+ current->size += sofar - old_sofar;
+ }
#endif
/* FIXME, in demand paged files, the low order bits of the file
offset must match the low order bits of the virtual address.