Bail out binds_to_current_def_p for ifunc functions.
authorMartin Liska <mliska@suse.cz>
Fri, 3 Feb 2017 15:15:51 +0000 (16:15 +0100)
committerMartin Liska <marxin@gcc.gnu.org>
Fri, 3 Feb 2017 15:15:51 +0000 (15:15 +0000)
2017-02-03  Martin Liska  <mliska@suse.cz>

* symtab.c (symtab_node::binds_to_current_def_p): Bail out
in case of a function with ifunc attribute.

From-SVN: r245154

gcc/ChangeLog
gcc/symtab.c

index 067723cacdf92c62f9844b1ac2184356ec44f15e..384dd373434951f521f32f8f854530191c318e46 100644 (file)
@@ -1,3 +1,8 @@
+2017-02-03  Martin Liska  <mliska@suse.cz>
+
+       * symtab.c (symtab_node::binds_to_current_def_p): Bail out
+       in case of a function with ifunc attribute.
+
 2017-02-03  Martin Liska  <mliska@suse.cz>
 
        * cgraph.c (cgraph_node::dump): Dump function version info.
index 0078896c8a86a1b471e2ccec0db51a150ab481c5..f0baf0810403a7113a1060d9468d1d451eebaede 100644 (file)
@@ -2225,6 +2225,8 @@ symtab_node::binds_to_current_def_p (symtab_node *ref)
   if (transparent_alias)
     return definition
           && get_alias_target()->binds_to_current_def_p (ref);
+  if (lookup_attribute ("ifunc", DECL_ATTRIBUTES (decl)))
+    return false;
   if (decl_binds_to_current_def_p (decl))
     return true;