diff options
Diffstat (limited to 'main/openssl/crypto/s390xcap.c')
m--------- | main/openssl | 0 | ||||
-rw-r--r-- | main/openssl/crypto/s390xcap.c | 37 |
2 files changed, 0 insertions, 37 deletions
diff --git a/main/openssl b/main/openssl new file mode 160000 +Subproject 4d377a9ce111930d8a8f06dc0e94a892a7f6c51 diff --git a/main/openssl/crypto/s390xcap.c b/main/openssl/crypto/s390xcap.c deleted file mode 100644 index f2e94ef4..00000000 --- a/main/openssl/crypto/s390xcap.c +++ /dev/null @@ -1,37 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <setjmp.h> -#include <signal.h> - -extern unsigned long OPENSSL_s390xcap_P[]; - -static sigjmp_buf ill_jmp; -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); - } |