OSDN Git Service

* elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
authorThiemo Seufer <ths@networkno.de>
Fri, 27 Jun 2003 01:16:29 +0000 (01:16 +0000)
committerThiemo Seufer <ths@networkno.de>
Fri, 27 Jun 2003 01:16:29 +0000 (01:16 +0000)
relocation header setup.
* binutils-all/readelf.ss-tmips: Adjust symbol indices.

bfd/ChangeLog
bfd/elfxx-mips.c

index 47c0b40..4891435 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
+       relocation header setup.
+
 2003-06-25  Alan Modra  <amodra@bigpond.net.au>
 
        * elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
index 3e85fc3..96f80ec 100644 (file)
@@ -4639,30 +4639,11 @@ _bfd_mips_elf_fake_sections (abfd, hdr, sec)
       hdr->sh_entsize = 8;
     }
 
-  /* The generic elf_fake_sections will set up REL_HDR using the
-     default kind of relocations.  But, we may actually need both
-     kinds of relocations, so we set up the second header here.
-
-     This is not necessary for the O32 ABI since that only uses Elf32_Rel
-     relocations (cf. System V ABI, MIPS RISC Processor Supplement,
-     3rd Edition, p. 4-17).  It breaks the IRIX 5/6 32-bit ld, since one
-     of the resulting empty .rela.<section> sections starts with
-     sh_offset == object size, and ld doesn't allow that.  While the check
-     is arguably bogus for empty or SHT_NOBITS sections, it can easily be
-     avoided by not emitting those useless sections in the first place.  */
-  if (! SGI_COMPAT (abfd) && ! NEWABI_P(abfd)
-      && (sec->flags & SEC_RELOC) != 0)
-    {
-      struct bfd_elf_section_data *esd;
-      bfd_size_type amt = sizeof (Elf_Internal_Shdr);
-
-      esd = elf_section_data (sec);
-      BFD_ASSERT (esd->rel_hdr2 == NULL);
-      esd->rel_hdr2 = (Elf_Internal_Shdr *) bfd_zalloc (abfd, amt);
-      if (!esd->rel_hdr2)
-       return FALSE;
-      _bfd_elf_init_reloc_shdr (abfd, esd->rel_hdr2, sec, !sec->use_rela_p);
-    }
+  /* The generic elf_fake_sections will set up REL_HDR using the default
+   kind of relocations.  We used to set up a second header for the
+   non-default kind of relocations here, but only NewABI would use
+   these, and the IRIX ld doesn't like resulting empty RELA sections.
+   Thus we create those header only on demand now.  */
 
   return TRUE;
 }