* elf.c (assign_file_positions_for_segments): Adjust the segment
authorIan Lance Taylor <ian@airs.com>
Wed, 28 Feb 1996 16:01:04 +0000 (16:01 +0000)
committerIan Lance Taylor <ian@airs.com>
Wed, 28 Feb 1996 16:01:04 +0000 (16:01 +0000)
memory size for the alignment of a SEC_ALLOC section, not just a
SEC_LOAD section.

bfd/ChangeLog
bfd/elf.c

index 20632f922b39a7c599a98fc44732afc45accf514..62b523e871f76ecd0ebb9045cebd593742e8d42d 100644 (file)
@@ -1,3 +1,9 @@
+Wed Feb 28 11:00:24 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf.c (assign_file_positions_for_segments): Adjust the segment
+       memory size for the alignment of a SEC_ALLOC section, not just a
+       SEC_LOAD section.
+
 Tue Feb 27 14:17:31 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
        * m68klinux.c: New file.
index eab15b009b3bd3aac06471c239ca7ef0cac05557..8221561d862a069160454e4bd1a4b3cdba28cc64 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -2070,7 +2070,7 @@ assign_file_positions_for_segments (abfd)
 
              /* The section VMA must equal the file position modulo
                  the page size.  */
-             if ((flags & SEC_LOAD) != 0)
+             if ((flags & SEC_ALLOC) != 0)
                {
                  adjust = (sec->vma - off) % bed->maxpagesize;
                  if (adjust != 0)
@@ -2079,8 +2079,10 @@ assign_file_positions_for_segments (abfd)
                        abort ();
                      p->p_memsz += adjust;
                      if ((flags & SEC_LOAD) != 0)
-                       p->p_filesz += adjust;
-                     off += adjust;
+                       {
+                         p->p_filesz += adjust;
+                         off += adjust;
+                       }
                    }
                }