diff options
author | Martin Liska <mliska@suse.cz> | 2017-06-19 15:12:51 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2017-06-19 13:12:51 +0000 |
commit | 871cc215f7507cbe9ed4b1a5a9fd884deb65c18a (patch) | |
tree | 1537ccd22e6aad4a626a95a0ef356332c810e7a1 /gcc/attribs.c | |
parent | 431abe69f1c4ba0b4b05609f2f4f9206cc6e041a (diff) | |
download | gcc-871cc215f7507cbe9ed4b1a5a9fd884deb65c18a.zip gcc-871cc215f7507cbe9ed4b1a5a9fd884deb65c18a.tar.gz gcc-871cc215f7507cbe9ed4b1a5a9fd884deb65c18a.tar.bz2 |
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.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/gcc/attribs.c b/gcc/attribs.c index 4ba0eab..5eb19e8 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), |