*** bfd/elfxx-mips.c.ori 2007-10-10 09:28:42.715483416 -0400 --- bfd/elfxx-mips.c 2007-10-10 09:56:46.514369373 -0400 *************** _bfd_mips_elf_fake_sections (bfd *abfd, *** 5670,5676 **** hdr->sh_flags |= SHF_MIPS_NOSTRIP; } else if (CONST_STRNEQ (name, ".debug_")) ! hdr->sh_type = SHT_MIPS_DWARF; else if (strcmp (name, ".MIPS.symlib") == 0) { hdr->sh_type = SHT_MIPS_SYMBOL_LIB; --- 5670,5684 ---- hdr->sh_flags |= SHF_MIPS_NOSTRIP; } else if (CONST_STRNEQ (name, ".debug_")) ! { ! hdr->sh_type = SHT_MIPS_DWARF; ! ! /* Irix facilities such as libexc expect a single .debug_frame ! per executable, the system ones have NOSTRIP set and the linker ! doesn't merge sections with different flags so ... */ ! if (SGI_COMPAT (abfd) && CONST_STRNEQ (name, ".debug_frame")) ! hdr->sh_flags |= SHF_MIPS_NOSTRIP; ! } else if (strcmp (name, ".MIPS.symlib") == 0) { hdr->sh_type = SHT_MIPS_SYMBOL_LIB;