This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
PATCH: Fix cr16c
- From: "H. J. Lu" <hjl at lucon dot org>
- To: binutils at sources dot redhat dot com
- Cc: Galit dot Heller at nsc dot com, Tomer dot Levi at nsc dot com
- Date: Thu, 1 Apr 2004 11:27:31 -0800
- Subject: PATCH: Fix cr16c
elf32-cr16c.c should use RELOC_FOR_GLOBAL_SYMBOL. Also there is a typo
in elf32_cr16c_add_symbol_hook.
H.J.
----
2004-04-01 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.
--- bfd/elf32-cr16c.c.elf 2004-03-30 08:04:29.000000000 -0800
+++ bfd/elf32-cr16c.c 2004-04-01 11:04:33.000000000 -0800
@@ -721,27 +721,12 @@ elf32_cr16c_relocate_section (bfd *outpu
}
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
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,