diff options
author | Andy Polyakov <appro@openssl.org> | 2009-12-27 11:25:24 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2009-12-27 11:25:24 +0000 |
commit | d741cf2267eca194817d300912b35da02806ca3e (patch) | |
tree | 917da2940658fe546d655ce15c91faa4238b63a2 /crypto/ppccap.c | |
parent | b4b48a107cc5f0a6c50b26ec5f088484affde81b (diff) | |
download | openssl-new-d741cf2267eca194817d300912b35da02806ca3e.tar.gz |
ppccap.c: tidy up.
ppc64-mont.pl: missing predicate in commentary.
Diffstat (limited to 'crypto/ppccap.c')
-rw-r--r-- | crypto/ppccap.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/crypto/ppccap.c b/crypto/ppccap.c index 6fac797ff5..85901598dd 100644 --- a/crypto/ppccap.c +++ b/crypto/ppccap.c @@ -11,6 +11,7 @@ static int OPENSSL_ppccap_P = 0; static sigset_t all_masked; +#ifdef OPENSSL_BN_ASM_MONT int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np, const BN_ULONG *n0, int num) { int bn_mul_mont_fpu64(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np, const BN_ULONG *n0, int num); @@ -44,6 +45,7 @@ int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_U return bn_mul_mont_int(rp,ap,bp,np,n0,num); } +#endif static sigjmp_buf ill_jmp; static void ill_handler (int sig) { siglongjmp(ill_jmp,sig); } @@ -55,6 +57,8 @@ void OPENSSL_cpuid_setup(void) sigfillset(&all_masked); sigdelset(&all_masked,SIGSEGV); sigdelset(&all_masked,SIGILL); + sigdelset(&all_masked,SIGBUS); + sigdelset(&all_masked,SIGFPE); if ((e=getenv("OPENSSL_ppccap"))) { @@ -69,8 +73,7 @@ void OPENSSL_cpuid_setup(void) memset(&ill_act,0,sizeof(ill_act)); ill_act.sa_handler = ill_handler; - sigfillset(&ill_act.sa_mask); - sigdelset(&ill_act.sa_mask,SIGILL); + ill_act.sa_mask = all_masked; sigprocmask(SIG_SETMASK,&ill_act.sa_mask,&oset); sigaction (SIGILL,&ill_act,&ill_oact); if (sigsetjmp(ill_jmp,0) == 0) |