From 3ad797fd086ee8eb71041992877e6d169266b4b5 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 24 Feb 2015 10:13:51 +0000 Subject: [PATCH] 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. --- bfd/ChangeLog | 5 +++++ bfd/pdp11.c | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index efa539cfc6..24e21766c4 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2015-02-24 Nick Clifton + + * pdp11.c (set_section_contents): Pad the .text and .data sections + to their aligned sizes. + 2015-02-23 Yoshinori Sato * config.bfd: Add h8300-*-linux. diff --git a/bfd/pdp11.c b/bfd/pdp11.c index 0c2bb13675..241e3582f3 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; -- 2.34.1