summaryrefslogtreecommitdiff
path: root/bfd/elf32-iq2000.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-10-28 09:53:44 +0000
committerNick Clifton <nickc@redhat.com>2004-10-28 09:53:44 +0000
commit0db5ab976f1ae939216274f6065709c8ed0029b8 (patch)
treecd8407f51b3074ccc493d7695834cd2907491c08 /bfd/elf32-iq2000.c
parentf3ae39e01573e31a3c2777d5f17e5d53af8532d8 (diff)
downloadbinutils-redhat-0db5ab976f1ae939216274f6065709c8ed0029b8.tar.gz
iq2000_elf_relocate_section): Do nothing when perfoming a relocatable link.
(iq2000_elf_object_p): Do not set elf_bad_symtab. This is only for MIPS ports under Irix.
Diffstat (limited to 'bfd/elf32-iq2000.c')
-rw-r--r--bfd/elf32-iq2000.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/bfd/elf32-iq2000.c b/bfd/elf32-iq2000.c
index bb2df9f5c8..7e8adc2f3d 100644
--- a/bfd/elf32-iq2000.c
+++ b/bfd/elf32-iq2000.c
@@ -512,7 +512,7 @@ iq2000_elf_check_relocs (abfd, info, sec, relocs)
if (changed)
/* Note that we've changed relocs, otherwise if !info->keep_memory
we'll free the relocs and lose our changes. */
- (const Elf_Internal_Rela *) (elf_section_data (sec)->relocs) = relocs;
+ elf_section_data (sec)->relocs = (Elf_Internal_Rela *) relocs;
return TRUE;
}
@@ -568,6 +568,9 @@ iq2000_elf_relocate_section (output_bfd, info, input_bfd, input_section,
Elf_Internal_Rela * rel;
Elf_Internal_Rela * relend;
+ if (info->relocatable)
+ return TRUE;
+
symtab_hdr = & elf_tdata (input_bfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (input_bfd);
relend = relocs + input_section->reloc_count;
@@ -915,11 +918,6 @@ bfd_boolean
iq2000_elf_object_p (abfd)
bfd *abfd;
{
- /* Irix 5 and 6 is broken. Object file symbol tables are not always
- sorted correctly such that local symbols precede global symbols,
- and the sh_info field in the symbol table is not always right. */
- elf_bad_symtab (abfd) = TRUE;
-
bfd_default_set_arch_mach (abfd, bfd_arch_iq2000,
elf32_iq2000_machine (abfd));
return TRUE;