Fix build on i386 and arm64.
Index: modules/core/src/system.cpp
--- modules/core/src/system.cpp.orig
+++ modules/core/src/system.cpp
@@ -251,7 +251,7 @@ std::wstring GetTempFileNameWinRT(std::wstring prefix)
 #include "omp.h"
 #endif
 
-#if defined __unix__ || defined __APPLE__ || defined __EMSCRIPTEN__ || defined __FreeBSD__ || defined __GLIBC__ || defined __HAIKU__
+#if defined __unix__ || defined __APPLE__ || defined __EMSCRIPTEN__ || defined __FreeBSD__ || defined __OpenBSD__ || defined __GLIBC__ || defined __HAIKU__
 #include <unistd.h>
 #include <stdio.h>
 #include <sys/types.h>
@@ -611,7 +611,7 @@ struct HWFeatures
         CV_LOG_INFO(NULL, "- FP16 instructions is NOT enabled via build flags");
         #endif
       #endif
-    #elif defined __arm__ && !defined __FreeBSD__
+    #elif defined __arm__ && (!defined __FreeBSD__ || !defined __OpenBSD__)
         int cpufile = open("/proc/self/auxv", O_RDONLY);
 
         if (cpufile >= 0)
