aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/elf32-iq2000.c10
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;