| commit e8023f2685c9f97e72bbe9d2a9c968e0d8438371 |
| Author: Stefan Liebler <stli@linux.ibm.com> |
| Date: Tue Dec 18 13:57:03 2018 +0100 |
| |
| 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. |
| |
| diff --git a/sysdeps/s390/multiarch/ifunc-resolve.h b/sysdeps/s390/multiarch/ifunc-resolve.h |
| index b42ed922fd27834b..b7e20abc59638251 100644 |
| |
| |
| @@ -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) \ |