void Z_INTERNAL power_check_features(struct power_cpu_features *features) {
#ifdef PPC_FEATURES
unsigned long hwcap;
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap));
#else
hwcap = getauxval(AT_HWCAP);
#ifdef POWER_FEATURES
unsigned long hwcap2;
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
elf_aux_info(AT_HWCAP2, &hwcap2, sizeof(hwcap2));
#else
hwcap2 = getauxval(AT_HWCAP2);
#include <machine/cpu.h>
#endif
int main() {
- #ifdef __FreeBSD__
+ #if defined(__FreeBSD__) || defined(__OpenBSD__)
unsigned long hwcap;
elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap));
return (hwcap & PPC_FEATURE_HAS_ALTIVEC);
#include <machine/cpu.h>
#endif
int main() {
- #ifdef __FreeBSD__
+ #if defined(__FreeBSD__) || defined(__OpenBSD__)
unsigned long hwcap;
elf_aux_info(AT_HWCAP2, &hwcap, sizeof(hwcap));
return (hwcap & PPC_FEATURE2_ARCH_2_07);
#include <machine/cpu.h>
#endif
int main() {
- #ifdef __FreeBSD__
+ #if defined(__FreeBSD__) || defined(__OpenBSD__)
unsigned long hwcap;
elf_aux_info(AT_HWCAP2, &hwcap, sizeof(hwcap));
return (hwcap & PPC_FEATURE2_ARCH_3_00);
cat > $test.c <<EOF
#include <sys/auxv.h>
int main() {
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
int test;
return elf_aux_info(AT_PAGESZ, &test, sizeof(test));
#else
CFLAGS="${CFLAGS} -DHAVE_SYS_AUXV_H"
SFLAGS="${SFLAGS} -DHAVE_SYS_AUXV_H"
else
- echo "Checking for getauxval() in sys/auxv.h... No." | tee -a configure.log
+ echo "Checking for getauxval() or elf_aux_info() in sys/auxv.h... No." | tee -a configure.log
fi
# We need to remove consigured files (zconf.h etc) from source directory if building outside of it
#endif
#include <sys/auxv.h>
int main() {
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
unsigned long hwcap;
elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap));
return (hwcap & PPC_FEATURE_HAS_ALTIVEC);
#endif
#include <sys/auxv.h>
int main() {
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
unsigned long hwcap;
elf_aux_info(AT_HWCAP2, &hwcap, sizeof(hwcap));
return (hwcap & PPC_FEATURE2_ARCH_2_07);
#endif
#include <sys/auxv.h>
int main() {
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
unsigned long hwcap;
elf_aux_info(AT_HWCAP2, &hwcap, sizeof(hwcap));
return (hwcap & PPC_FEATURE2_ARCH_3_00);