This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] BZ #19590: Fixed build of shared objects that use libmvec.so functions


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?

At least libmvec_shared.a doesn't have an ABI impact.  But this approach
is very odd.

Florian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]