[PATCH 2/8] s390: Refactor ifunc resolvers due to false debuginfo.
Stefan Liebler
stli@linux.vnet.ibm.com
Fri Jul 29 14:55:00 GMT 2016
This is an update due to the comments from Paul.
On 07/04/2016 03:45 PM, Stefan Liebler wrote:
> On 07/04/2016 10:37 AM, Florian Weimer wrote:
>> On 06/23/2016 01:55 PM, Stefan Liebler wrote:
>>> This patch adjusts the s390 specific ifunc helper macros in
>>> ifunc-resolve.h to
>>> use the common __ifunc macro, which uses gcc attribute ifunc to get
>>> rid of the
>>> false debuginfo. Therefore the redirection construct is applied where
>>> needed.
>>>
>>> Perhaps in future we can switch some of the internal symbols __GI_*
>>> from the
>>> fallback variant to the ifunc function. But this change is not
>>> straightforward due to a segmentation fault while linking libc.so with
>>> older
>>> binutils on s390.
>>>
>>> ChangeLog:
>>>
>>> * sysdeps/s390/multiarch/ifunc-resolve.h
>>> (s390_vx_libc_ifunc2, s390_libc_ifunc): Use __ifunc from
>>> libc-symbols.h
>>> to create ifunc symbols.
>>> (s390_vx_libc_ifunc_init, s390_libc_ifunc_init): New define.
>>> * sysdeps/s390/multiarch/memchr.c: Redirect ifunced function in
>>> header
>>> and create a copy of the prototype for using as ifunc function.
>>> Add appropiate aliases to the real symbol names.
>>
>> “appropriate”
> Ok
>>
>>> + __ifunc (FUNC, \
>>> + __glibc_likely (S390_IS_Z196 (stfle_bits)) \
>>> + ? RESOLVERFUNC##_z196 : \
>>> + __glibc_likely (S390_IS_Z10 (stfle_bits)) \
>>> + ? RESOLVERFUNC##_z10 : \
>>> + RESOLVERFUNC##_default \
>>> + , unsigned long int dl_hwcap, s390_libc_ifunc_init);
>>
>> I don't think GNU style allows starting a line with a comma, and “:”
>> should be at the start of the line, not the end.
>>
> Ok, I corrected it. Thanks.
>> Otherwise, the changes look reasonable.
>>
>> Thanks,
>> Florian
>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-s390-Refactor-ifunc-resolvers-due-to-false-debuginfo.patch
Type: text/x-patch
Size: 25600 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20160729/4a1becb4/attachment.bin>
More information about the Libc-alpha
mailing list