* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Do not add
authorJoseph Myers <joseph@codesourcery.com>
Thu, 25 Oct 2007 11:38:30 +0000 (11:38 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 25 Oct 2007 11:38:30 +0000 (11:38 +0000)
PT_NULL header when not linking.

bfd/ChangeLog
bfd/elfxx-mips.c

index 76b118f3130c2303bc8c76fd9fc03490c7ec6eff..27f12d936cca578da3557c65014d7c3e9f449d82 100644 (file)
@@ -1,3 +1,8 @@
+2007-10-25  Joseph Myers  <joseph@codesourcery.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Do not add
+       PT_NULL header when not linking.
+
 2007-10-25  Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>
 
        * elf.c (elfcore_grok_ppc_vmx): New function.
index 18be1fa1e2180e986f0de505d7090a61af2324c8..b0e8a62907dbcf5fc917dc79a02cada79a3a53dd 100644 (file)
@@ -9330,7 +9330,7 @@ _bfd_mips_elf_additional_program_headers (bfd *abfd,
 
 bfd_boolean
 _bfd_mips_elf_modify_segment_map (bfd *abfd,
-                                 struct bfd_link_info *info ATTRIBUTE_UNUSED)
+                                 struct bfd_link_info *info)
 {
   asection *s;
   struct elf_segment_map *m, **pm;
@@ -9555,8 +9555,12 @@ _bfd_mips_elf_modify_segment_map (bfd *abfd,
      header instead, and avoid the need to move any sections.
      There is a long tradition of allocating spare dynamic tags,
      so allocating a spare program header seems like a natural
-     extension.  */
-  if (!SGI_COMPAT (abfd)
+     extension.
+
+     If INFO is NULL, we may be copying an already prelinked binary
+     with objcopy or strip, so do not add this header.  */
+  if (info != NULL
+      && !SGI_COMPAT (abfd)
       && bfd_get_section_by_name (abfd, ".dynamic"))
     {
       for (pm = &elf_tdata (abfd)->segment_map; *pm != NULL; pm = &(*pm)->next)