bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/20515] i686 ifunc and non-default symbol visibility


From: hjl.tools at gmail dot com
Subject: [Bug ld/20515] i686 ifunc and non-default symbol visibility
Date: Fri, 26 Aug 2016 16:56:45 +0000

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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]