Latest update.
This commit is contained in:
+8
-11
@@ -168,16 +168,11 @@ void OPENSSL_altivec_probe(void);
|
||||
void OPENSSL_crypto207_probe(void);
|
||||
void OPENSSL_madd300_probe(void);
|
||||
|
||||
/*
|
||||
* Use a weak reference to getauxval() so we can use it if it is available
|
||||
* but don't break the build if it is not. Note that this is *link-time*
|
||||
* feature detection, not *run-time*. In other words if we link with
|
||||
* symbol present, it's expected to be present even at run-time.
|
||||
*/
|
||||
#if defined(__GNUC__) && __GNUC__>=2 && defined(__ELF__)
|
||||
extern unsigned long getauxval(unsigned long type) __attribute__ ((weak));
|
||||
#else
|
||||
static unsigned long (*getauxval) (unsigned long) = NULL;
|
||||
#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
|
||||
# if __GLIBC_PREREQ(2, 16)
|
||||
# include <sys/auxv.h>
|
||||
# define OSSL_IMPLEMENT_GETAUXVAL
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* I wish <sys/auxv.h> was universally available */
|
||||
@@ -277,7 +272,8 @@ void OPENSSL_cpuid_setup(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
if (getauxval != NULL) {
|
||||
#ifdef OSSL_IMPLEMENT_GETAUXVAL
|
||||
{
|
||||
unsigned long hwcap = getauxval(HWCAP);
|
||||
|
||||
if (hwcap & HWCAP_FPU) {
|
||||
@@ -307,6 +303,7 @@ void OPENSSL_cpuid_setup(void)
|
||||
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
sigfillset(&all_masked);
|
||||
sigdelset(&all_masked, SIGILL);
|
||||
|
||||
Reference in New Issue
Block a user