diff options
author | Thiemo Seufer <ths@networkno.de> | 2003-06-27 01:16:30 +0000 |
---|---|---|
committer | Thiemo Seufer <ths@networkno.de> | 2003-06-27 01:16:30 +0000 |
commit | 7a79a000c157a9dd4560ddbc71565cb3bef3520a (patch) | |
tree | c3ce2c82443b3e26e7b03139d27ba557063daf4c /bfd | |
parent | 0c7a8e5acd399d1d36dbe0cda815844dd5308c10 (diff) | |
download | gdb-7a79a000c157a9dd4560ddbc71565cb3bef3520a.zip gdb-7a79a000c157a9dd4560ddbc71565cb3bef3520a.tar.gz gdb-7a79a000c157a9dd4560ddbc71565cb3bef3520a.tar.bz2 |
* elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
relocation header setup.
* binutils-all/readelf.ss-tmips: Adjust symbol indices.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elfxx-mips.c | 29 |
2 files changed, 10 insertions, 24 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 47c0b40..4891435 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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. diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 3e85fc3..96f80ec 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -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; } |