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; | 
