2009-06-13 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c (elf_i386_relocate_section): Properly report local symbol for unhandled relocation against STT_GNU_IFUNC symbol. * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
This commit is contained in:
parent
8b7e29925c
commit
637fa7af7f
3 changed files with 11 additions and 3 deletions
|
@ -3,7 +3,9 @@
|
|||
* 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>
|
||||
|
||||
|
|
|
@ -3163,7 +3163,9 @@ elf_i386_relocate_section (bfd *output_bfd,
|
|||
(_("%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;
|
||||
|
||||
|
|
|
@ -2867,7 +2867,9 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
|
|||
(_("%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;
|
||||
|
||||
|
@ -2883,7 +2885,9 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
|
|||
(_("%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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue