aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2015-02-24 10:13:51 +0000
committerNick Clifton <nickc@redhat.com>2015-02-24 10:13:51 +0000
commit3ad797fd086ee8eb71041992877e6d169266b4b5 (patch)
treeb9949332a3cb2683f7a0ed0475655b9ec56ebec2 /bfd
parentec86f43468e2591127c493d67882de59dbfd79de (diff)
downloadgdb-3ad797fd086ee8eb71041992877e6d169266b4b5.zip
gdb-3ad797fd086ee8eb71041992877e6d169266b4b5.tar.gz
gdb-3ad797fd086ee8eb71041992877e6d169266b4b5.tar.bz2
Fix the gas test align2 for the PDP11 by ensuring that the .text and .data sections are written to their aligned sizes.
* pdp11.c (set_section_contents): Pad the .text and .data sections to their aligned sizes.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/pdp11.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index efa539c..24e2176 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2015-02-24 Nick Clifton <nickc@redhat.com>
+
+ * pdp11.c (set_section_contents): Pad the .text and .data sections
+ to their aligned sizes.
+
2015-02-23 Yoshinori Sato <ysato@users.sourceforge.jp>
* config.bfd: Add h8300-*-linux.
diff --git a/bfd/pdp11.c b/bfd/pdp11.c
index 0c2bb13..241e358 100644
--- a/bfd/pdp11.c
+++ b/bfd/pdp11.c
@@ -1172,6 +1172,14 @@ NAME (aout, set_section_contents) (bfd *abfd,
if (bfd_seek (abfd, section->filepos + offset, SEEK_SET) != 0
|| bfd_bwrite (location, count, abfd) != count)
return FALSE;
+
+ /* If necessary, pad the section to its aligned size. */
+ if ((section == obj_datasec (abfd)
+ || section == obj_textsec (abfd))
+ && count < section->size
+ && (bfd_seek (abfd, section->filepos + offset + section->size - 1, SEEK_SET) != 0
+ || bfd_bwrite ("", 1, abfd) != 1))
+ return FALSE;
}
return TRUE;