diff options
author | jkim <jkim@FreeBSD.org> | 2015-03-20 19:16:18 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2015-03-20 19:16:18 +0000 |
commit | d962da16eb69c08beb3d1028d1edbb20241cfead (patch) | |
tree | bf9f5c26fab5c18be80ab30783e5c7e5082594fc /crypto/openssl/crypto/s390xcap.c | |
parent | 778929f2cccf19c8b69d8bcd0da2243bf9e3fb95 (diff) | |
parent | 038f65e5fb1f35e1e485aa4781cda353c4e903f4 (diff) | |
download | FreeBSD-src-d962da16eb69c08beb3d1028d1edbb20241cfead.zip FreeBSD-src-d962da16eb69c08beb3d1028d1edbb20241cfead.tar.gz |
Merge OpenSSL 1.0.1m.
Diffstat (limited to 'crypto/openssl/crypto/s390xcap.c')
-rw-r--r-- | crypto/openssl/crypto/s390xcap.c | 52 |
1 files changed, 28 insertions, 24 deletions
diff --git a/crypto/openssl/crypto/s390xcap.c b/crypto/openssl/crypto/s390xcap.c index f2e94ef..47d6b6f 100644 --- a/crypto/openssl/crypto/s390xcap.c +++ b/crypto/openssl/crypto/s390xcap.c @@ -7,31 +7,35 @@ extern unsigned long OPENSSL_s390xcap_P[]; static sigjmp_buf ill_jmp; -static void ill_handler (int sig) { siglongjmp(ill_jmp,sig); } +static void ill_handler(int sig) +{ + siglongjmp(ill_jmp, sig); +} unsigned long OPENSSL_s390x_facilities(void); void OPENSSL_cpuid_setup(void) - { - sigset_t oset; - struct sigaction ill_act,oact; - - if (OPENSSL_s390xcap_P[0]) return; - - OPENSSL_s390xcap_P[0] = 1UL<<(8*sizeof(unsigned long)-1); - - memset(&ill_act,0,sizeof(ill_act)); - ill_act.sa_handler = ill_handler; - sigfillset(&ill_act.sa_mask); - sigdelset(&ill_act.sa_mask,SIGILL); - sigdelset(&ill_act.sa_mask,SIGTRAP); - sigprocmask(SIG_SETMASK,&ill_act.sa_mask,&oset); - sigaction (SIGILL,&ill_act,&oact); - - /* protection against missing store-facility-list-extended */ - if (sigsetjmp(ill_jmp,1) == 0) - OPENSSL_s390x_facilities(); - - sigaction (SIGILL,&oact,NULL); - sigprocmask(SIG_SETMASK,&oset,NULL); - } +{ + sigset_t oset; + struct sigaction ill_act, oact; + + if (OPENSSL_s390xcap_P[0]) + return; + + OPENSSL_s390xcap_P[0] = 1UL << (8 * sizeof(unsigned long) - 1); + + memset(&ill_act, 0, sizeof(ill_act)); + ill_act.sa_handler = ill_handler; + sigfillset(&ill_act.sa_mask); + sigdelset(&ill_act.sa_mask, SIGILL); + sigdelset(&ill_act.sa_mask, SIGTRAP); + sigprocmask(SIG_SETMASK, &ill_act.sa_mask, &oset); + sigaction(SIGILL, &ill_act, &oact); + + /* protection against missing store-facility-list-extended */ + if (sigsetjmp(ill_jmp, 1) == 0) + OPENSSL_s390x_facilities(); + + sigaction(SIGILL, &oact, NULL); + sigprocmask(SIG_SETMASK, &oset, NULL); +} |