diff --git a/CMakeLists.txt b/CMakeLists.txt index dbb5eda6..edba0a07 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1216,7 +1216,7 @@ if(ALLOW_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 7bdd2b7f..08c9fcd8 100644 --- a/configure.ac +++ b/configure.ac @@ -1081,12 +1081,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]) ])