summaryrefslogtreecommitdiff
path: root/bfd/elf32-cr16c.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2004-04-02 15:26:04 +0000
committerH.J. Lu <hjl@lucon.org>2004-04-02 15:26:04 +0000
commitbacc7d0ab674baf1e1ee9f086565726c09ff4052 (patch)
treeb52726a63b1236bfaad3e0e0ef1af12b72931e52 /bfd/elf32-cr16c.c
parent07fca5a4acba7282965d7fe9209c68224e16f94c (diff)
downloadbinutils-redhat-bacc7d0ab674baf1e1ee9f086565726c09ff4052.tar.gz
2004-04-02 H.J. Lu <hongjiu.lu@intel.com>
* elf32-cr16c.c (elf32_cr16c_relocate_section): Use RELOC_FOR_GLOBAL_SYMBOL. (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
Diffstat (limited to 'bfd/elf32-cr16c.c')
-rw-r--r--bfd/elf32-cr16c.c29
1 files changed, 7 insertions, 22 deletions
diff --git a/bfd/elf32-cr16c.c b/bfd/elf32-cr16c.c
index 3e2e275d60..e722335601 100644
--- a/bfd/elf32-cr16c.c
+++ b/bfd/elf32-cr16c.c
@@ -721,27 +721,12 @@ elf32_cr16c_relocate_section (bfd *output_bfd,
}
else
{
- h = sym_hashes[r_symndx - symtab_hdr->sh_info];
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
- if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- {
- sec = h->root.u.def.section;
- relocation = (h->root.u.def.value
- + sec->output_section->vma + sec->output_offset);
- }
- else if (h->root.type == bfd_link_hash_undefweak)
- relocation = 0;
- else
- {
- if (!((*info->callbacks->undefined_symbol)
- (info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, TRUE)))
- return FALSE;
- relocation = 0;
- }
+ bfd_boolean unresolved_reloc, warned;
+
+ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
+ r_symndx, symtab_hdr, sym_hashes,
+ h, sec, relocation,
+ unresolved_reloc, warned);
}
r = cr16c_elf_final_link_relocate (howto, input_bfd, output_bfd,
@@ -944,7 +929,7 @@ elf32_cr16c_symbol_processing (bfd *abfd ATTRIBUTE_UNUSED,
static bfd_boolean
elf32_cr16c_add_symbol_hook (bfd *abfd,
struct bfd_link_info *info ATTRIBUTE_UNUSED,
- const Elf_Internal_Sym *sym,
+ Elf_Internal_Sym *sym,
const char **namep ATTRIBUTE_UNUSED,
flagword *flagsp ATTRIBUTE_UNUSED,
asection **secp,