OSDN Git Service

* elf.c (assign_file_positions_for_load_sections): Trust
authordrow <drow>
Mon, 24 Sep 2007 18:23:12 +0000 (18:23 +0000)
committerdrow <drow>
Mon, 24 Sep 2007 18:23:12 +0000 (18:23 +0000)
p_align_valid.
(copy_elf_program_header): Copy PT_NULL segments.

bfd/ChangeLog
bfd/elf.c

index 42d91a7..c78cf5f 100644 (file)
@@ -1,3 +1,9 @@
+2007-09-24  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * elf.c (assign_file_positions_for_load_sections): Trust
+       p_align_valid.
+       (copy_elf_program_header): Copy PT_NULL segments.
+
 2007-09-24  Trevor Smigiel  <Trevor_Smigiel@playstation.sony.com>
 
        * elf32-spu.c (is_indirect_branch): New function.
index 379216e..3c2a49a 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -4146,10 +4146,10 @@ assign_file_positions_for_load_sections (bfd *abfd,
 
          p->p_align = maxpagesize;
        }
-      else if (m->count == 0)
-       p->p_align = 1 << bed->s->log_file_align;
       else if (m->p_align_valid)
        p->p_align = m->p_align;
+      else if (m->count == 0)
+       p->p_align = 1 << bed->s->log_file_align;
       else
        p->p_align = 0;
 
@@ -5666,10 +5666,6 @@ copy_elf_program_header (bfd *ibfd, bfd *obfd)
       asection *first_section = NULL;
       asection *lowest_section = NULL;
 
-      /* FIXME: Do we need to copy PT_NULL segment?  */
-      if (segment->p_type == PT_NULL)
-       continue;
-
       /* Compute how many sections are in this segment.  */
       for (section = ibfd->sections, section_count = 0;
           section != NULL;