diff options
Diffstat (limited to 'openssl/crypto/ppccap.c')
-rw-r--r-- | openssl/crypto/ppccap.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/openssl/crypto/ppccap.c b/openssl/crypto/ppccap.c index ab89ccaa1..f71ba66aa 100644 --- a/openssl/crypto/ppccap.c +++ b/openssl/crypto/ppccap.c @@ -3,6 +3,7 @@ #include <string.h> #include <setjmp.h> #include <signal.h> +#include <unistd.h> #include <crypto.h> #include <openssl/bn.h> @@ -53,6 +54,7 @@ static sigjmp_buf ill_jmp; static void ill_handler (int sig) { siglongjmp(ill_jmp,sig); } void OPENSSL_ppc64_probe(void); +void OPENSSL_altivec_probe(void); void OPENSSL_cpuid_setup(void) { @@ -82,6 +84,15 @@ void OPENSSL_cpuid_setup(void) OPENSSL_ppccap_P = 0; +#if defined(_AIX) + if (sizeof(size_t)==4 +# if defined(_SC_AIX_KERNEL_BITMODE) + && sysconf(_SC_AIX_KERNEL_BITMODE)!=64 +# endif + ) + return; +#endif + memset(&ill_act,0,sizeof(ill_act)); ill_act.sa_handler = ill_handler; ill_act.sa_mask = all_masked; |