diff options
Diffstat (limited to 'src/lib/libcrypto/ppccap.c')
-rw-r--r-- | src/lib/libcrypto/ppccap.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/libcrypto/ppccap.c b/src/lib/libcrypto/ppccap.c index ab89ccaa12..f71ba66aa3 100644 --- a/src/lib/libcrypto/ppccap.c +++ b/src/lib/libcrypto/ppccap.c | |||
@@ -3,6 +3,7 @@ | |||
3 | #include <string.h> | 3 | #include <string.h> |
4 | #include <setjmp.h> | 4 | #include <setjmp.h> |
5 | #include <signal.h> | 5 | #include <signal.h> |
6 | #include <unistd.h> | ||
6 | #include <crypto.h> | 7 | #include <crypto.h> |
7 | #include <openssl/bn.h> | 8 | #include <openssl/bn.h> |
8 | 9 | ||
@@ -53,6 +54,7 @@ static sigjmp_buf ill_jmp; | |||
53 | static void ill_handler (int sig) { siglongjmp(ill_jmp,sig); } | 54 | static void ill_handler (int sig) { siglongjmp(ill_jmp,sig); } |
54 | 55 | ||
55 | void OPENSSL_ppc64_probe(void); | 56 | void OPENSSL_ppc64_probe(void); |
57 | void OPENSSL_altivec_probe(void); | ||
56 | 58 | ||
57 | void OPENSSL_cpuid_setup(void) | 59 | void OPENSSL_cpuid_setup(void) |
58 | { | 60 | { |
@@ -82,6 +84,15 @@ void OPENSSL_cpuid_setup(void) | |||
82 | 84 | ||
83 | OPENSSL_ppccap_P = 0; | 85 | OPENSSL_ppccap_P = 0; |
84 | 86 | ||
87 | #if defined(_AIX) | ||
88 | if (sizeof(size_t)==4 | ||
89 | # if defined(_SC_AIX_KERNEL_BITMODE) | ||
90 | && sysconf(_SC_AIX_KERNEL_BITMODE)!=64 | ||
91 | # endif | ||
92 | ) | ||
93 | return; | ||
94 | #endif | ||
95 | |||
85 | memset(&ill_act,0,sizeof(ill_act)); | 96 | memset(&ill_act,0,sizeof(ill_act)); |
86 | ill_act.sa_handler = ill_handler; | 97 | ill_act.sa_handler = ill_handler; |
87 | ill_act.sa_mask = all_masked; | 98 | ill_act.sa_mask = all_masked; |