[PATCH] BZ #19590: Fixed build of shared objects that use libmvec.so functions
Andrew Senkevich
andrew.n.senkevich@gmail.com
Wed Feb 10 16:10:00 GMT 2016
2016-02-10 16:07 GMT+03:00 Florian Weimer <fweimer@redhat.com>:
> On 02/10/2016 01:58 PM, Andrew Senkevich wrote:
>> 2016-02-10 15:08 GMT+03:00 Florian Weimer <fweimer@redhat.com>:
>>> On 02/10/2016 12:36 PM, Andrew Senkevich wrote:
>>>
>>>> #define ALIAS_IMPL(alias, target) \
>>>> ENTRY (alias); \
>>>> - call target; \
>>>> + call target@PLT; \
>>>> ret; \
>>>> END (alias)
>>>
>>> This needs a comment why this cannot be a tail call (JMP).
>>
>> Yes, it should be jmp.
>
> Fine, then you can drop the RET (which was present in Carlos' patch).
>
>>> Out of curiosity, why is it not possible to avoid this indirection? Why
>>> is this logic required in libmvec_nonshared.a?
>>
>> It is workaround to exclude unnecessary symbol aliases in libmvec.so
>> (BZ #19058).
>
> Ugh. This is a GCC bug, or a lack of a GCC feature. It needs fixing in
> GCC. Apparently, this hasn't happened for GCC 6. Is there lack of
> agreement that this is a compiler issue?
There are thread about it at
https://gcc.gnu.org/ml/gcc/2015-06/msg00173.html. I will refresh it
soon.
--
WBR,
Andrew
More information about the Libc-alpha
mailing list