summaryrefslogtreecommitdiffstats
path: root/crypto/s390xcap.c
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-09-13 11:43:18 +0200
committerRichard Levitte <levitte@openssl.org>2019-10-21 15:14:09 +0200
commit5768804d5ac543b2c899bcbb96cb6f571cef9eaa (patch)
treec9588153c6e5eb0f3dd197cc6cd49cefbdb897c1 /crypto/s390xcap.c
parent48bb979252deb4ca51ac9b3cdad70ee92937da4f (diff)
crypto/s390xcap.c: Add guards around the GETAUXVAL checks
HWCAP_S390_VX is missing on SUSE Linux Enterprise Server 12 SP1, so we add a guard that checks the present of that macro. While we're at it, we do the same with HWCAP_S390_STFLE, for consistency. Reviewed-by: Patrick Steuer <patrick.steuer@de.ibm.com> (Merged from https://github.com/openssl/openssl/pull/9892)
Diffstat (limited to 'crypto/s390xcap.c')
-rw-r--r--crypto/s390xcap.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/crypto/s390xcap.c b/crypto/s390xcap.c
index eb00a4a7bd..f8e0234968 100644
--- a/crypto/s390xcap.c
+++ b/crypto/s390xcap.c
@@ -19,7 +19,9 @@
#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
# if __GLIBC_PREREQ(2, 16)
# include <sys/auxv.h>
-# define OSSL_IMPLEMENT_GETAUXVAL
+# if defined(HWCAP_S390_STFLE) && defined(HWCAP_S390_VX)
+# define OSSL_IMPLEMENT_GETAUXVAL
+# endif
# endif
#endif
@@ -82,7 +84,7 @@ void OPENSSL_cpuid_setup(void)
/* set a bit that will not be tested later */
OPENSSL_s390xcap_P.stfle[0] |= S390X_CAPBIT(0);
-#ifdef OSSL_IMPLEMENT_GETAUXVAL
+#if defined(OSSL_IMPLEMENT_GETAUXVAL)
{
const unsigned long hwcap = getauxval(AT_HWCAP);