$OpenBSD: patch-core_cpuinfo_c,v 1.3 2021/03/01 07:01:02 bentley Exp $

Extracted from https://github.com/JulNadeauCA/libagar/commit/56b3500
Also add proper AltiVec detection on powerpc

Index: core/cpuinfo.c
--- core/cpuinfo.c.orig
+++ core/cpuinfo.c
@@ -27,10 +27,6 @@
  * Obtain information about architecture extensions.
  */
 
-#include <agar/config/have_altivec.h>
-#include <agar/config/_mk_have_signal.h>
-#include <agar/config/_mk_have_setjmp.h>
-
 #include <agar/core/core.h>
 
 #if defined(__APPLE__) || defined(__MACOSX__)
@@ -42,15 +38,12 @@
 # include <exec/exec.h>
 # include <interfaces/exec.h>
 # include <proto/exec.h>
+#elif defined(__OpenBSD__) && defined(__ppc__)
+# include <machine/cpu.h>
+# include <sys/types.h>
+# include <sys/sysctl.h>
 #endif
 
-#if !defined(__APPLE__) && !defined(__MACOSX__) && !defined(__ppc__) && \
-     defined(HAVE_ALTIVEC) && defined(_MK_HAVE_SIGNAL) && defined(_MK_HAVE_SETJMP)
-# include <signal.h>
-# include <setjmp.h>
-static jmp_buf jmpbuf;
-#endif
-
 struct cpuid_regs {
 	Uint32 a;
 	Uint32 b;
@@ -262,8 +255,15 @@ AG_GetCPUInfo(AG_CPUInfo *_Nonnull cpu)
 
 #if (defined(__APPLE__) || defined(__MACOSX__)) && defined(__ppc__) && \
     !defined(MAC_OS_X_VERSION_10_4)
+int selectors[2] = { CTL_HW, HW_VECTORUNIT };
+#elif defined(__OpenBSD__) && defined(__ppc__)
+int selectors[2] = { CTL_MACHDEP, CPU_ALTIVEC };
+#endif
+
+#if (defined(__APPLE__) || defined(__MACOSX__)) && defined(__ppc__) && \
+    !defined(MAC_OS_X_VERSION_10_4) || \
+    (defined(__OpenBSD__) && defined(__ppc__))
 	{
-		int selectors[2] = { CTL_HW, HW_VECTORUNIT };
 		int flag = 0;
 		size_t length = sizeof(flag);
 	
