S390: Use hwcap instead of dl_hwcap in ifunc-resolvers.
authorStefan Liebler <stli@linux.ibm.com>
Tue, 18 Dec 2018 12:57:03 +0000 (13:57 +0100)
committerStefan Liebler <stli@linux.ibm.com>
Tue, 18 Dec 2018 12:57:03 +0000 (13:57 +0100)
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.

ChangeLog
sysdeps/s390/multiarch/ifunc-resolve.h

index 3943558..572cff8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 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.
        * sysdeps/s390/configure.ac: Add check for z10 support.
        * sysdeps/s390/configure: Regenerated.
index b42ed92..b7e20ab 100644 (file)
@@ -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)
   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)            \