summaryrefslogtreecommitdiff
path: root/gcc/attribs.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2017-06-19 15:12:51 +0200
committerMartin Liska <marxin@gcc.gnu.org>2017-06-19 13:12:51 +0000
commit871cc215f7507cbe9ed4b1a5a9fd884deb65c18a (patch)
tree1537ccd22e6aad4a626a95a0ef356332c810e7a1 /gcc/attribs.c
parent431abe69f1c4ba0b4b05609f2f4f9206cc6e041a (diff)
Fix multi-versioning issues (PR ipa/80732).
2017-06-19 Martin Liska <mliska@suse.cz> PR ipa/80732 * attribs.c (make_dispatcher_decl): Do not append '.ifunc' to dispatcher function name. * multiple_target.c (replace_function_decl): New function. (create_dispatcher_calls): Redirect both edges and references. 2017-06-19 Martin Liska <mliska@suse.cz> PR ipa/80732 * gcc.target/i386/mvc5.c: Scan indirect_function. * gcc.target/i386/mvc7.c: Likewise. * gcc.target/i386/pr80732.c: New test. From-SVN: r249365
Diffstat (limited to 'gcc/attribs.c')
-rw-r--r--gcc/attribs.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/gcc/attribs.c b/gcc/attribs.c
index 4ba0eab8899..5eb19e82795 100644
--- a/gcc/attribs.c
+++ b/gcc/attribs.c
@@ -888,12 +888,8 @@ make_dispatcher_decl (const tree decl)
tree func_decl;
char *func_name;
tree fn_type, func_type;
- bool is_uniq = false;
- if (TREE_PUBLIC (decl) == 0)
- is_uniq = true;
-
- func_name = make_unique_name (decl, "ifunc", is_uniq);
+ func_name = xstrdup (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)));
fn_type = TREE_TYPE (decl);
func_type = build_function_type (TREE_TYPE (fn_type),