[PATCH] powerpc: Export __parse_hwcap_and_convert_at_platform to, libc.a
Tulio Magno Quites Machado Filho
tuliom@linux.vnet.ibm.com
Tue Dec 22 17:34:00 GMT 2015
"Paul E. Murphy" <murphyp@linux.vnet.ibm.com> writes:
> On 12/15/2015 12:51 PM, Carlos Eduardo Seo wrote:
>>
>> Hi
>>
>> Commit 67385a01d229751569b6aac067ffdcd813a15d7a added a new feature
>> for powerpc, where we store HWCAP/Platform bits in the TCB. In the
>> dynamic linking case, we use the versioned symbol
>> '__parse_hwcap_and_convert_at_platform' to verify if this feature is
>> available. However, the same symbol was not exported to libc.a,
>> making it not possible for GCC to check for it prior to link
>> time. This patch fixes that.
>>
>> Regards,
>>
>
>
> Is this better or worse than amending the troublesome spot to:
>
> #if IS_IN (rtld) || !defined (SHARED)
>
> as versioned_symbol() translates to weak_alias() in the later case.
>
> If not, LGTM.
It makes sense in order to minimize code, but it would feels weird, because
we would have this:
#if IS_IN (rtld) || !defined (SHARED)
versioned_symbol (ld, __tcb_parse_hwcap_and_convert_at_platform, \
__parse_hwcap_and_convert_at_platform, GLIBC_2_23);
#endif
So, the code says to add a symbol to ld, but it ends up in libc.a for the
static case.
It's a trade-off: the way Seo wrote makes it clearer without duplicating
too much code.
LGTM and I'm pushing it.
Thanks!
--
Tulio Magno
More information about the Libc-alpha
mailing list