This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v2 1/9] Add configure check to test if gcc supports attribute ifunc.
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Stefan Liebler <stli at linux dot vnet dot ibm dot com>
- Cc: <libc-alpha at sourceware dot org>, <fweimer at redhat dot com>, <murphyp at linux dot vnet dot ibm dot com>, <schwab at linux-m68k dot org>
- Date: Mon, 8 Aug 2016 16:40:03 +0000
- Subject: Re: [PATCH v2 1/9] Add configure check to test if gcc supports attribute ifunc.
- Authentication-results: sourceware.org; auth=none
- References: <1470667145-18563-1-git-send-email-stli@linux.vnet.ibm.com>
On Mon, 8 Aug 2016, Stefan Liebler wrote:
> This patch adds a configure check to test if gcc supports attribute ifunc.
> The support can either be enabled in <gcc-src>/gcc/config.gcc for one
> architecture in general by setting default_gnu_indirect_function variable to yes
> or by configuring gcc with --enable-gnu-indirect-function.
>
> The next patch rewrites libc_ifunc macro to use gcc attribute ifunc instead
> of inline assembly to generate the IFUNC symbols due to false debuginfo.
>
> If gcc does not support attribute ifunc and glibc is configured with
> --enable-multi-arch then configure will abort with an error message.
> If --enable-multi-arch is not given then configure will silently
> disable multi-arch support.
I'm concerned about requiring non-default configure options. Various
architectures support IFUNC in binutils and may have done so for a long
time, but without the option being enabled in GCC by default. There
should be a much more detailed analysis of which architectures have IFUNC
support in binutils, when it was added, and correspondingly, whether it's
enabled by default in GCC for those architectures and, if so, when such
enabling was added.
In any case, new compiler requirements must be documented in install.texi
with INSTALL regenerated. And should have appropriate NEWS entries as
well.
--
Joseph S. Myers
joseph@codesourcery.com