https://sourceware.org/bugzilla/show_bug.cgi?id=20515
--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> --- diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 4179572..aa6b8d0 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -2178,6 +2178,20 @@ do_relocation: a function defined in a shared library. */ if ((sec->flags & SEC_CODE) == 0) h->pointer_equality_needed = 1; + else if (h->type == STT_GNU_IFUNC + && bfd_link_pic (info)) + { + if (isym == NULL) + name = h->root.root.string; + else + name = bfd_elf_sym_name (abfd, symtab_hdr, isym, + NULL); + (*_bfd_error_handler) + (_("%B: unspported local call to IFUNC `%s'"), + abfd, name); + bfd_set_error (bfd_error_bad_value); + goto error_return; + } } else { -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils