From c676e659395f145e45b08fe3bba90c29ab44e8b8 Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Seo Date: Wed, 9 Dec 2015 18:48:04 -0200 Subject: [PATCH] powerpc: Export __parse_hwcap_and_convert_at_platform to libc.a. 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. --- ChangeLog | 5 +++++ sysdeps/powerpc/hwcapinfo.c | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index 83143de100..a32717ea05 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-12-22 Carlos Eduardo Seo + + * sysdeps/powerpc/hwcapinfo.c: Export symbol + __parse_hwcap_and_convert_at_platform to libc.a. + 2015-12-22 Carlos Eduardo Seo * sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_platforms): Added diff --git a/sysdeps/powerpc/hwcapinfo.c b/sysdeps/powerpc/hwcapinfo.c index a115ffccd9..b885f1cff6 100644 --- a/sysdeps/powerpc/hwcapinfo.c +++ b/sysdeps/powerpc/hwcapinfo.c @@ -74,3 +74,11 @@ __tcb_parse_hwcap_and_convert_at_platform (void) versioned_symbol (ld, __tcb_parse_hwcap_and_convert_at_platform, \ __parse_hwcap_and_convert_at_platform, GLIBC_2_23); #endif + +/* Export __parse_hwcap_and_convert_at_platform in libc.a. This is used by + GCC to make sure that the HWCAP/Platform bits are stored in the TCB when + using __builtin_cpu_is()/__builtin_cpu_supports() in the static case. */ +#ifndef SHARED +weak_alias (__tcb_parse_hwcap_and_convert_at_platform, \ + __parse_hwcap_and_convert_at_platform); +#endif