[PING][PATCH v3 1/9] Add configure check to test if gcc supports attribute ifunc.
Stefan Liebler
stli@linux.vnet.ibm.com
Mon Sep 5 07:13:00 GMT 2016
On 08/24/2016 04:04 PM, 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, the old approach for generating
> ifunc'ed symbols is used. Then the debug-information is false. Thus it is
> recommended to use a gcc with indirect function support (See notes in INSTALL).
> After this patch-series these inline assemblies for ifunc-handling are not
> scattered in multiple files but are used only indirect via ifunc-macros
> and can simply removed in libc-symbols.h in future.
>
> If glibc is configured with --enable-multi-arch and gcc does not support
> attribute ifunc, a configure warning is dumped!
>
> This NEWS entry will be added:
> * For multi-arch support it is recommended to use a GCC with gnu-indirect-function
> support as it is used to generate ifunc'ed symbols with correct
> debug-information. This support can either be enabled by configuring GCC with
> '--enable-gnu-indirect-function' or by enabling it by default by setting
> 'default_gnu_indirect_function' variable for a particular architecture in
> gcc source file 'gcc/config.gcc'.
>
> ChangeLog:
>
> * config.h.in (HAVE_GCC_IFUNC): New undef.
> * configure.ac: Add check if gcc supports attribute ifunc feature.
> * configure: Regenerated.
> * manual/install.texi: Add recommendation for gcc with
> indirect-function support.
> * INSTALL: Regenerated.
Hi,
PING.
Here is the current status of the patchset:
-"[PATCH v3 1/9] Add configure check to test if gcc supports attribute
ifunc.":
ok from Florian.
-"[PATCH v3 2/9] Use gcc attribute ifunc in libc_ifunc macro instead of
inline assembly due to false debuginfo.":
partial ok from Paul. Paul, are the redirection of the f/l variants of
__finite and others ok as they are needed (see my previous answer)?
PING: ifunc-macros in libc-symbols.h
-"[PATCH v3 3/9] s390: Refactor ifunc resolvers due to false debuginfo.":
PING.
-"[PATCH v3 4/9] i386, x86: Use libc_ifunc macro for time, gettimeofday.":
PING. Andreas, are the names for the redirection defines okay?
-"[PATCH v3 5/9] ppc: Use libc_ifunc macro for time, gettimeofday.":
ok from Paul.
-"[PATCH v3 6/9] Use libc_ifunc macro for clock_* symbols in librt.":
ok from Florian.
-"[PATCH v3 7/9] Use libc_ifunc macro for system in libpthread.":
ok from Florian.
-"[PATCH v3 8/9] Use libc_ifunc macro for vfork in libpthread.":
ok from Florian.
-"[PATCH v3 9/9] Use libc_ifunc macro for siglongjmp, longjmp in
libpthread.":
PING.
Bye.
Stefan
More information about the Libc-alpha
mailing list