diff options
author | Carlos Eduardo Seo <cseo@linux.vnet.ibm.com> | 2015-12-09 18:48:04 -0200 |
---|---|---|
committer | Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> | 2015-12-22 15:41:19 -0200 |
commit | c676e659395f145e45b08fe3bba90c29ab44e8b8 (patch) | |
tree | 742eb357d69120d95ef278a37eec91ee03b9e9c6 | |
parent | b1f19b8ef1003f202424ca222003a18b880bf914 (diff) | |
download | glibc-c676e659395f145e45b08fe3bba90c29ab44e8b8.zip glibc-c676e659395f145e45b08fe3bba90c29ab44e8b8.tar.gz glibc-c676e659395f145e45b08fe3bba90c29ab44e8b8.tar.bz2 |
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.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/powerpc/hwcapinfo.c | 8 |
2 files changed, 13 insertions, 0 deletions
@@ -1,5 +1,10 @@ 2015-12-22 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com> + * sysdeps/powerpc/hwcapinfo.c: Export symbol + __parse_hwcap_and_convert_at_platform to libc.a. + +2015-12-22 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com> + * sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_platforms): Added platform and feature support for POWER9. * sysdeps/powerpc/dl-procinfo.h: Likewise. diff --git a/sysdeps/powerpc/hwcapinfo.c b/sysdeps/powerpc/hwcapinfo.c index a115ffc..b885f1c 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 |