* elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default

relocation header setup.
	* binutils-all/readelf.ss-tmips: Adjust symbol indices.
This commit is contained in:
Thiemo Seufer 2003-06-27 01:16:30 +00:00
parent 0c7a8e5acd
commit 7a79a000c1
4 changed files with 20 additions and 30 deletions

View 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.

View 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;
}

View File

@ -1,3 +1,7 @@
2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
* binutils-all/readelf.ss-tmips: Adjust symbol indices.
2003-06-26 Roland McGrath <roland@redhat.com>
* readelf.c (loadaddr): Variable removed.

View File

@ -3,13 +3,13 @@ Symbol table '.symtab' contains 12 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 SECTION LOCAL DEFAULT 1
2: 00000000 0 SECTION LOCAL DEFAULT 4
3: 00000000 0 SECTION LOCAL DEFAULT 5
2: 00000000 0 SECTION LOCAL DEFAULT 3
3: 00000000 0 SECTION LOCAL DEFAULT 4
4: 00000000 0 NOTYPE LOCAL DEFAULT 1 static_text_symbol
5: 00000000 0 NOTYPE LOCAL DEFAULT 4 static_data_symbol
6: 00000000 0 SECTION LOCAL DEFAULT 6
7: 00000000 0 SECTION LOCAL DEFAULT 7
5: 00000000 0 NOTYPE LOCAL DEFAULT 3 static_data_symbol
6: 00000000 0 SECTION LOCAL DEFAULT 5
7: 00000000 0 SECTION LOCAL DEFAULT 6
8: 00000000 0 OBJECT GLOBAL DEFAULT 1 text_symbol
9: 00000000 0 NOTYPE GLOBAL DEFAULT UND external_symbol
10: 00000000 0 OBJECT GLOBAL DEFAULT 4 data_symbol
10: 00000000 0 OBJECT GLOBAL DEFAULT 3 data_symbol
11: 00000004 4 OBJECT GLOBAL DEFAULT (PRC|COM) common_symbol