diff options
author | Alan Modra <amodra@bigpond.net.au> | 2003-05-09 11:35:35 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2003-05-09 11:35:35 +0000 |
commit | 67619884c45f299a14efb2652518d805073502c6 (patch) | |
tree | 022ade958219c671117f758e0a0e75f16658ad4f /bfd/elf32-iq2000.c | |
parent | 849bb406ab3beb6428acdef337846b13de15b8b8 (diff) | |
download | binutils-redhat-67619884c45f299a14efb2652518d805073502c6.tar.gz |
* cpu-arm.c (arm_check_note): Warning fix.
* elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes. Arrange
to keep relocs if edited.
(iq2000_elf_print_private_bfd_data): Return TRUE.
* elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
ELF64_R_SYM.
(elfNN_ia64_relax_ldxmov): Warning fix.
* xtensa-isa.c (xtensa_add_isa): Warning fix.
* xtensa-modules.c (get_num_opcodes): Warning fix.
Diffstat (limited to 'bfd/elf32-iq2000.c')
-rw-r--r-- | bfd/elf32-iq2000.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/bfd/elf32-iq2000.c b/bfd/elf32-iq2000.c index c4261bf749..ebdd30300f 100644 --- a/bfd/elf32-iq2000.c +++ b/bfd/elf32-iq2000.c @@ -454,8 +454,9 @@ iq2000_elf_check_relocs (abfd, info, sec, relocs) { Elf_Internal_Shdr *symtab_hdr; struct elf_link_hash_entry **sym_hashes, **sym_hashes_end; - Elf_Internal_Rela *rel; - Elf_Internal_Rela *rel_end; + const Elf_Internal_Rela *rel; + const Elf_Internal_Rela *rel_end; + bfd_boolean changed = FALSE; if (info->relocateable) return TRUE; @@ -499,10 +500,20 @@ iq2000_elf_check_relocs (abfd, info, sec, relocs) if (memcmp (sec->name, ".debug", 6) == 0 || memcmp (sec->name, ".stab", 5) == 0 || memcmp (sec->name, ".eh_frame", 9) == 0) - rel->r_info = ELF32_R_INFO (ELF32_R_SYM (rel->r_info), R_IQ2000_32_DEBUG); + { + ((Elf_Internal_Rela *) rel)->r_info + = ELF32_R_INFO (ELF32_R_SYM (rel->r_info), R_IQ2000_32_DEBUG); + changed = TRUE; + } break; } } + + 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; + return TRUE; } @@ -929,6 +940,7 @@ iq2000_elf_print_private_bfd_data (abfd, ptr) } fputc ('\n', file); + return TRUE; } static |