diff --git a/CMakeLists.txt b/CMakeLists.txt index a02c4c48..40da486e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1302,7 +1302,7 @@ if(XZ_ARM64_CRC32) check_symbol_exists(getauxval sys/auxv.h HAVE_GETAUXVAL) tuklib_add_definition_if(liblzma HAVE_GETAUXVAL) - # elf_aux_info() is supported on FreeBSD. + # elf_aux_info() is supported on FreeBSD and OpenBSD >= 7.6. check_symbol_exists(elf_aux_info sys/auxv.h HAVE_ELF_AUX_INFO) tuklib_add_definition_if(liblzma HAVE_ELF_AUX_INFO) diff --git a/configure.ac b/configure.ac index 4a277242..abc84fc2 100644 --- a/configure.ac +++ b/configure.ac @@ -1096,12 +1096,17 @@ int main(void) ]) # Check for ARM64 CRC32 instruction runtime detection. -# getauxval() is supported on Linux, elf_aux_info() on FreeBSD, and -# sysctlbyname("hw.optional.armv8_crc32", ...) is supported on Darwin -# (macOS, iOS, etc.). Note that sysctlbyname() is supported on FreeBSD, -# NetBSD, and possibly others too but the string is specific to Apple OSes. -# The C code is responsible for checking defined(__APPLE__) before using -# sysctlbyname("hw.optional.armv8_crc32", ...). +# +# - getauxval() is supported on Linux. +# +# - elf_aux_info() is supported on FreeBSD and OpenBSD >= 7.6. +# +# - sysctlbyname("hw.optional.armv8_crc32", ...) is supported on Darwin +# (macOS, iOS, etc.). Note that sysctlbyname() is supported on FreeBSD, +# NetBSD, and possibly others too but the string is specific to Apple +# OSes. The C code is responsible for checking defined(__APPLE__) +# before using sysctlbyname("hw.optional.armv8_crc32", ...). +# AS_IF([test "x$enable_arm64_crc32" = xyes], [ AC_CHECK_FUNCS([getauxval elf_aux_info sysctlbyname], [break]) ])