* elf32-i386.c (elf_i386_check_relocs): Properly report
local symbol for unhandled relocation against STT_GNU_IFUNC
symbol.
+ (elf_i386_relocate_section): Likewise.
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
+ (elf64_x86_64_relocate_section): Likewise.
2009-06-13 H.J. Lu <hongjiu.lu@intel.com>
(_("%B: relocation %s against STT_GNU_IFUNC "
"symbol `%s' isn't handled by %s"), input_bfd,
elf_howto_table[r_type].name,
- h->root.root.string, __FUNCTION__);
+ (h->root.root.string
+ ? h->root.root.string : "a local symbol"),
+ __FUNCTION__);
bfd_set_error (bfd_error_bad_value);
return FALSE;
(_("%B: relocation %s against STT_GNU_IFUNC "
"symbol `%s' isn't handled by %s"), input_bfd,
x86_64_elf_howto_table[r_type].name,
- h->root.root.string, __FUNCTION__);
+ (h->root.root.string
+ ? h->root.root.string : "a local symbol"),
+ __FUNCTION__);
bfd_set_error (bfd_error_bad_value);
return FALSE;
(_("%B: relocation %s against STT_GNU_IFUNC "
"symbol `%s' has non-zero addend: %d"),
input_bfd, x86_64_elf_howto_table[r_type].name,
- h->root.root.string, rel->r_addend);
+ (h->root.root.string
+ ? h->root.root.string : "a local symbol"),
+ rel->r_addend);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}