From: Nick Clifton Date: Thu, 28 Oct 2004 09:53:44 +0000 (+0000) Subject: iq2000_elf_relocate_section): Do nothing when perfoming a relocatable link. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d5cb4bb8aa4156c116244d2d09a7a5d90be794b7;p=binutils-gdb.git 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. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1b084520ae4..17d53061e2e 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2004-10-28 Nick Clifton + + * elf32-iq2000.c (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. + 2004-10-27 Richard Earnshaw * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Handle diff --git a/bfd/elf32-iq2000.c b/bfd/elf32-iq2000.c index bb2df9f5c83..7e8adc2f3db 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;