From: Brad Smith Date: Fri, 14 Nov 2025 01:02:25 +0000 (-0500) Subject: Use elf_aux_info() on OpenBSD PowerPC X-Git-Tag: 2.3.0-rc2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=30ff317fb42797a2456f1747476cfc5c0085425c;p=thirdparty%2Fzlib-ng.git Use elf_aux_info() on OpenBSD PowerPC --- diff --git a/arch/power/power_features.c b/arch/power/power_features.c index 4939d1c18..d3c55c6ae 100644 --- a/arch/power/power_features.c +++ b/arch/power/power_features.c @@ -19,7 +19,7 @@ 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); @@ -31,7 +31,7 @@ void Z_INTERNAL power_check_features(struct power_cpu_features *features) { #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); diff --git a/cmake/detect-intrinsics.cmake b/cmake/detect-intrinsics.cmake index e7592f95b..d1c814ffa 100644 --- a/cmake/detect-intrinsics.cmake +++ b/cmake/detect-intrinsics.cmake @@ -389,7 +389,7 @@ macro(check_ppc_intrinsics) #include #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); @@ -416,7 +416,7 @@ macro(check_power8_intrinsics) #include #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); @@ -511,7 +511,7 @@ macro(check_power9_intrinsics) #include #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); diff --git a/configure b/configure index e51e21bff..267abcf75 100755 --- a/configure +++ b/configure @@ -829,7 +829,7 @@ fi cat > $test.c < int main() { -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) || defined(__OpenBSD__) int test; return elf_aux_info(AT_PAGESZ, &test, sizeof(test)); #else @@ -842,7 +842,7 @@ if try $CC $CFLAGS -o $test $test.c $LDSHAREDLIBC; then 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 @@ -1471,7 +1471,7 @@ EOF #endif #include 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); @@ -1497,7 +1497,7 @@ check_power8_intrinsics() { #endif #include 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); @@ -1523,7 +1523,7 @@ check_power9_intrinsics() { #endif #include 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);