[PATCH] Make target_clones resolver fn static.

Richard Biener richard.guenther@gmail.com
Mon Jan 20 10:34:00 GMT 2020


On Fri, Jan 17, 2020 at 10:25 AM Martin Liška <mliska@suse.cz> wrote:
>
> Hi.
>
> The patch removes need to have a gnu_indirect_function global
> symbol. That aligns the code with what ppc64 target does.
>
> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
>
> Ready to be installed?

Did you verify the result actually works?  I'm not sure we have any runtime test
coverage for the feature and non-public functions and you don't add a testcase
either.  Maybe there's interesting coverage in the binutils or glibc testsuite
(though both might not use the compilers ifunc feature...).

The patch also suspiciously lacks removal of actually making the resolver
TREE_PUBLIC if the default implementation was not ... so I wonder whether
you verified that the resolver _is_ indeed local.

HJ, do you know anything about this requirement?  It's that way since
the original contribution of multi-versioning by Google...

Richard.

> Thanks,
> Martin
>
> gcc/ChangeLog:
>
> 2020-01-17  Martin Liska  <mliska@suse.cz>
>
>         PR target/93274
>         * config/i386/i386-features.c (make_resolver_func):
>         Align the code with ppc64 target implementaion.
>         We do not need to have gnu_indirect_function
>         as a global function.
>
> gcc/testsuite/ChangeLog:
>
> 2020-01-17  Martin Liska  <mliska@suse.cz>
>
>         PR target/93274
>         * gcc.target/i386/pr81213.c: Adjust to not expect
>         a global unique name.
> ---
>   gcc/config/i386/i386-features.c         | 20 +++++---------------
>   gcc/testsuite/gcc.target/i386/pr81213.c |  4 ++--
>   2 files changed, 7 insertions(+), 17 deletions(-)
>
>



More information about the Gcc-patches mailing list