diff options
author | Martin Liska <mliska@suse.cz> | 2017-02-03 16:15:51 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2017-02-03 15:15:51 +0000 |
commit | 31a31c9dc19b0a20a69c282b8760147bf79e37a6 (patch) | |
tree | 0c1b42d4fd1488f7b8fdcc92133839c77257bdb1 /gcc | |
parent | 9e57787b8411a4cb20cdf43a7619cbdecbdb6b7a (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/symtab.c | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 067723c..384dd37 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 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. * symtab.c (symtab_node::dump_base): Add missing new line. 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; |