[PING][PATCH v3 1/9] Add configure check to test if gcc supports attribute ifunc.
Stefan Liebler
stli@linux.vnet.ibm.com
Thu Sep 29 13:50:00 GMT 2016
PING.
On 09/05/2016 09:12 AM, Stefan Liebler wrote:
> 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