+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.
 
 
          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;
 
       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;