OSDN Git Service

* 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 76b118f..27f12d9 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 18be1fa..b0e8a62 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)