aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/ppccap.c
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2012-10-21 18:19:41 +0000
committerAndy Polyakov <appro@openssl.org>2012-10-21 18:19:41 +0000
commit78c3e20579d3baa159c8b51b59d415b6e521614b (patch)
treee2b1e2556addea47a495681fa11b6164350d2f0f /crypto/ppccap.c
parent0c832ec5c6741b2e972d39612f702bcfebe18b20 (diff)
downloadopenssl-78c3e20579d3baa159c8b51b59d415b6e521614b.tar.gz
linux-pcc: make it more robust and recognize KERNEL_BITS variable.
Diffstat (limited to 'crypto/ppccap.c')
-rw-r--r--crypto/ppccap.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/crypto/ppccap.c b/crypto/ppccap.c
index f71ba66aa3..531f1b3be8 100644
--- a/crypto/ppccap.c
+++ b/crypto/ppccap.c
@@ -4,6 +4,9 @@
#include <setjmp.h>
#include <signal.h>
#include <unistd.h>
+#ifdef __linux
+#include <sys/utsname.h>
+#endif
#include <crypto.h>
#include <openssl/bn.h>
@@ -102,6 +105,10 @@ void OPENSSL_cpuid_setup(void)
if (sizeof(size_t)==4)
{
+#ifdef __linux
+ struct utsname uts;
+ if (uname(&uts)==0 && strcmp(uts.machine,"ppc64")==0)
+#endif
if (sigsetjmp(ill_jmp,1) == 0)
{
OPENSSL_ppc64_probe();