diff options
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elf32-iq2000.c | 10 |
2 files changed, 11 insertions, 6 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1b08452..17d5306 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2004-10-28 Nick Clifton <nickc@redhat.com> + + * 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 <rearnsha@arm.com> * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Handle diff --git a/bfd/elf32-iq2000.c b/bfd/elf32-iq2000.c index bb2df9f..7e8adc2 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; |