Fix build on FreeBSD/armv7
1. FreeBSD uses elf_aux_info instead of getauxval. 2. FreeBSD uses HWCAP_NEON macro for Neon.
This commit is contained in:
parent
5fdad04a9e
commit
a577c3fe79
|
@ -224,8 +224,15 @@ void HwCapsDetect() {
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
// ARM processor in 32bit mode
|
// ARM processor in 32bit mode
|
||||||
// To see if it supports NEON, we need to get that information from the kernel
|
// To see if it supports NEON, we need to get that information from the kernel
|
||||||
|
#ifdef __linux__
|
||||||
unsigned long auxval = getauxval(AT_HWCAP);
|
unsigned long auxval = getauxval(AT_HWCAP);
|
||||||
if (auxval & HWCAP_ARM_NEON) {
|
if (auxval & HWCAP_ARM_NEON) {
|
||||||
|
#elif defined(__FreeBSD__)
|
||||||
|
unsigned long auxval = 0;
|
||||||
|
elf_aux_info(AT_HWCAP, &auxval, sizeof(auxval));
|
||||||
|
if (auxval & HWCAP_NEON) {
|
||||||
|
#error Unsupported OS.
|
||||||
|
#endif
|
||||||
Debug(1,"Detected ARM (AArch32) processor with Neon");
|
Debug(1,"Detected ARM (AArch32) processor with Neon");
|
||||||
neonversion = 1;
|
neonversion = 1;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue