aboutsummaryrefslogtreecommitdiff
path: root/gcc/symtab.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2017-02-03 16:15:51 +0100
committerMartin Liska <marxin@gcc.gnu.org>2017-02-03 15:15:51 +0000
commit31a31c9dc19b0a20a69c282b8760147bf79e37a6 (patch)
tree0c1b42d4fd1488f7b8fdcc92133839c77257bdb1 /gcc/symtab.c
parent9e57787b8411a4cb20cdf43a7619cbdecbdb6b7a (diff)
downloadgcc-31a31c9dc19b0a20a69c282b8760147bf79e37a6.zip
gcc-31a31c9dc19b0a20a69c282b8760147bf79e37a6.tar.gz
gcc-31a31c9dc19b0a20a69c282b8760147bf79e37a6.tar.bz2
Bail out binds_to_current_def_p for ifunc functions.
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
Diffstat (limited to 'gcc/symtab.c')
-rw-r--r--gcc/symtab.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/symtab.c b/gcc/symtab.c
index 0078896..f0baf08 100644
--- a/gcc/symtab.c
+++ b/gcc/symtab.c
@@ -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;