This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] BZ #19590: Fixed build of shared objects that use libmvec.so functions
- From: Andrew Senkevich <andrew dot n dot senkevich at gmail dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: Florian Weimer <fweimer at redhat dot com>, libc-alpha <libc-alpha at sourceware dot org>
- Date: Wed, 10 Feb 2016 19:21:50 +0300
- Subject: Re: [PATCH] BZ #19590: Fixed build of shared objects that use libmvec.so functions
- Authentication-results: sourceware.org; auth=none
- References: <CAMXFM3tML81iuKQMKRU-T4Fw0+=sYk0q_BNavMGagt21VcYvzQ at mail dot gmail dot com> <56BB2835 dot 4050907 at redhat dot com> <CAMXFM3s=W79Wp=os1w0FuybqO8ygpQEz0mT=Q0-NDnX3wZTiPQ at mail dot gmail dot com> <56BB3610 dot 4040907 at redhat dot com> <CAMXFM3tzMWSMF-daxnwsFrMA8HyJ6J7k_WZvYciAGzAMusRBhg at mail dot gmail dot com> <CAMe9rOpu141Y_OLPtc8pXVzQqhik6EkQPfk=2PPX7CZ5AmhdLQ at mail dot gmail dot com>
2016-02-10 19:13 GMT+03:00 H.J. Lu <hjl.tools@gmail.com>:
> On Wed, Feb 10, 2016 at 8:10 AM, Andrew Senkevich
> <andrew.n.senkevich@gmail.com> wrote:
>> 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.
>
> I don't think we should put a GCC bug workaround in glibc. It should
> be fixed or worked around it in GCC.
Since GCC 4.9 vector function name is formed based on asm declaration
name, to support that GCC versions we need to have such workaround.
--
WBR,
Andrew