mirror of
git://sourceware.org/git/glibc.git
synced 2025-02-17 13:00:43 +08:00
S390: Use hwcap instead of dl_hwcap in ifunc-resolvers.
The renaming of hwcap arguments in ifunc-resolvers is needed in order to prepare for further commits which refactors ifunc handling for memset, memcmp, and memcpy. Now you are able to use s390_libc_ifunc_init which stores the stfle bits within the expression for an ifunc-resolver generated by s390_libc_ifunc_expr. ChangeLog: * sysdeps/s390/multiarch/ifunc-resolve.h (s390_libc_ifunc_init, s390_libc_ifunc, s390_vx_libc_ifunc2_redirected): Use hwcap instead of dl_hwcap.
This commit is contained in:
parent
b8686c0d70
commit
e8023f2685
@ -1,3 +1,9 @@
|
||||
2018-12-18 Stefan Liebler <stli@linux.ibm.com>
|
||||
|
||||
* sysdeps/s390/multiarch/ifunc-resolve.h
|
||||
(s390_libc_ifunc_init, s390_libc_ifunc,
|
||||
s390_vx_libc_ifunc2_redirected): Use hwcap instead of dl_hwcap.
|
||||
|
||||
2018-12-18 Stefan Liebler <stli@linux.ibm.com>
|
||||
|
||||
* config.h.in (HAVE_S390_MIN_Z10_ZARCH_ASM_SUPPORT): New undefine.
|
||||
|
@ -42,9 +42,9 @@
|
||||
: : "cc");
|
||||
#define s390_libc_ifunc_init() \
|
||||
unsigned long long stfle_bits = 0ULL; \
|
||||
if (__glibc_likely((dl_hwcap & HWCAP_S390_STFLE) \
|
||||
&& (dl_hwcap & HWCAP_S390_ZARCH) \
|
||||
&& (dl_hwcap & HWCAP_S390_HIGH_GPRS))) \
|
||||
if (__glibc_likely ((hwcap & HWCAP_S390_STFLE) \
|
||||
&& (hwcap & HWCAP_S390_ZARCH) \
|
||||
&& (hwcap & HWCAP_S390_HIGH_GPRS))) \
|
||||
{ \
|
||||
S390_STORE_STFLE (stfle_bits); \
|
||||
}
|
||||
@ -61,7 +61,7 @@
|
||||
: __glibc_likely (S390_IS_Z10 (stfle_bits)) \
|
||||
? RESOLVERFUNC##_z10 \
|
||||
: RESOLVERFUNC##_default, \
|
||||
unsigned long int dl_hwcap, s390_libc_ifunc_init);
|
||||
unsigned long int hwcap, s390_libc_ifunc_init);
|
||||
|
||||
#define s390_vx_libc_ifunc(FUNC) \
|
||||
s390_vx_libc_ifunc2_redirected(FUNC, FUNC, FUNC)
|
||||
@ -79,10 +79,10 @@
|
||||
extern __typeof (TYPE_FUNC) RESOLVERFUNC##_vx attribute_hidden; \
|
||||
extern __typeof (TYPE_FUNC) RESOLVERFUNC##_c attribute_hidden; \
|
||||
__ifunc (TYPE_FUNC, FUNC, \
|
||||
(dl_hwcap & HWCAP_S390_VX) \
|
||||
(hwcap & HWCAP_S390_VX) \
|
||||
? RESOLVERFUNC##_vx \
|
||||
: RESOLVERFUNC##_c, \
|
||||
unsigned long int dl_hwcap, s390_vx_libc_ifunc_init);
|
||||
unsigned long int hwcap, s390_vx_libc_ifunc_init);
|
||||
|
||||
#define s390_libc_ifunc_expr_init()
|
||||
#define s390_libc_ifunc_expr(TYPE_FUNC, FUNC, EXPR) \
|
||||
|
Loading…
Reference in New Issue
Block a user