This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 1/8] Use gcc attribute ifunc in libc_ifunc macro instead of inline assembly due to false debuginfo.
- From: "Paul E. Murphy" <murphyp at linux dot vnet dot ibm dot com>
- To: Stefan Liebler <stli at linux dot vnet dot ibm dot com>, "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>
- Date: Mon, 1 Aug 2016 15:18:41 -0500
- Subject: Re: [PATCH 1/8] Use gcc attribute ifunc in libc_ifunc macro instead of inline assembly due to false debuginfo.
- Authentication-results: sourceware.org; auth=none
- References: <1466682952-6301-1-git-send-email-stli@linux.vnet.ibm.com> <23c1158b-a7b5-6da1-1ce4-90c6f0e9b733@linux.vnet.ibm.com> <579B6CD8.7030607@linux.vnet.ibm.com>
On 07/29/2016 09:48 AM, Stefan Liebler wrote:
> On 07/27/2016 07:28 PM, Paul E. Murphy wrote:
>> I'm suspecting this attribute is not always enabled on all toolchains.
>>
>> Testing this out with the system toolchain on a ppc64le P8 Ubuntu 14.04 system,
>> I was greeted with:
>>
>> ../sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c:35:13: error: ifunc is not supported in this configuration
>>
>> gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)
>>
> I've tested it on a ppc64 P7 RHEL 7 system with gcc 4.8.5 and there gcc/binutils have ifunc support. Why is ifunc not enabled in your gcc but binutils supports IFUNC? Is this related to ppc64le and/or Ubuntu 14.04 / 16.04?
> Does someone know if gcc does not support ifunc on other architectures / distros?
I can't shine any light onto why, but it does demonstrate the need to
update the configury to check for this case, and handle it sensibly.
Currently it only checks whether binutils supports ifunc, and enables
multiarch in the absence of more specific options passed to configure.
> Yes you are right. In s_finitef.c/s_isinff.c the redirects are not necessary. I can remove them.
I assume the same holds for the extra redirects in s_finite, s_isinf,
and s_isnan. Otherwise, the ppc specific changes are ok.