[PATCH] BZ #19590: Fixed build of shared objects that use libmvec.so functions
H.J. Lu
hjl.tools@gmail.com
Wed Feb 10 16:44:00 GMT 2016
On Wed, Feb 10, 2016 at 8:33 AM, Joseph Myers <joseph@codesourcery.com> wrote:
> On Wed, 10 Feb 2016, H.J. Lu wrote:
>
>> >> 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.
>> >
>>
>> So it is the part of ABI, isn't it?
>
> It is deliberately only part of the static library ABI, not part of the
> shared library ABI, because the shared libraries should not need more than
> one internal-namespace exported name for the same interface (and it's a
> compiler limitation that the other name exists at all).
>
Let me try to understand the problem:
1. GCC should generate an alias, foo, which points to bar defined
in libmvec.so.
2. But the alias foo may be removed by GCC sometimes (LTO?).
3. As a workaround, we put an alias foo, in libmvec_nonshared.a which
points to bar defined in libmvec.so.
Am I correct?
--
H.J.
More information about the Libc-alpha
mailing list