diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 76b118f3130..27f12d936cc 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2007-10-25 Joseph Myers + + * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Do not add + PT_NULL header when not linking. + 2007-10-25 Carlos Eduardo Seo * elf.c (elfcore_grok_ppc_vmx): New function. diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 18be1fa1e21..b0e8a62907d 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -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)