From: Brad Smith Subject: UPDATE: recoil-rts - arm64 To: thfr@openbsd.org Cc: ports@openbsd.org Date: Sat, 25 Jul 2026 18:24:57 -0400 Within the last few months recoil-rts has gained support for building on aarch64. The following diff fixes building the port on aarch64. Index: Makefile =================================================================== RCS file: /cvs/ports/games/recoil-rts/Makefile,v retrieving revision 1.28 diff -u -p -u -p -r1.28 Makefile --- Makefile 24 Jul 2026 03:46:16 -0000 1.28 +++ Makefile 25 Jul 2026 22:12:04 -0000 @@ -1,5 +1,4 @@ -# heavy use of SSE with no alternative pathways for !x86 arches -ONLY_FOR_ARCHS = amd64 +ONLY_FOR_ARCHS = aarch64 amd64 COMMENT = real-time strategy game engine for Beyond All Reason Index: patches/patch-tools_pr-downloader_src_lib_7z_CpuArch_c =================================================================== RCS file: patches/patch-tools_pr-downloader_src_lib_7z_CpuArch_c diff -N patches/patch-tools_pr-downloader_src_lib_7z_CpuArch_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-tools_pr-downloader_src_lib_7z_CpuArch_c 25 Jul 2026 22:12:04 -0000 @@ -0,0 +1,62 @@ +- 24.05 + fc662341e6f85da78ada0e443f6116b978f79f22 +- 26.00 + 839151eaaad24771892afaae6bac690e31e58384 + +Index: tools/pr-downloader/src/lib/7z/CpuArch.c +--- tools/pr-downloader/src/lib/7z/CpuArch.c.orig ++++ tools/pr-downloader/src/lib/7z/CpuArch.c +@@ -415,16 +415,42 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP + + #else // __APPLE__ + +-#include ++#if defined(__GLIBC__) && (__GLIBC__ * 100 + __GLIBC_MINOR__ >= 216) ++ #define Z7_GETAUXV_AVAILABLE ++#else ++ #if defined __has_include ++ #if __has_include () ++ #define Z7_GETAUXV_AVAILABLE ++ #endif ++ #endif ++#endif + ++#ifdef Z7_GETAUXV_AVAILABLE ++#include + #define USE_HWCAP ++#endif + + #ifdef USE_HWCAP + ++#if defined(__FreeBSD__) || defined(__OpenBSD__) ++static unsigned long MY_getauxval(int aux) ++{ ++ unsigned long val; ++ if (elf_aux_info(aux, &val, sizeof(val))) ++ return 0; ++ return val; ++} ++#else ++#define MY_getauxval getauxval ++ #if defined __has_include ++ #if __has_include () + #include ++ #endif ++ #endif ++#endif + + #define MY_HWCAP_CHECK_FUNC_2(name1, name2) \ +- BoolInt CPU_IsSupported_ ## name1() { return (getauxval(AT_HWCAP) & (HWCAP_ ## name2)) ? 1 : 0; } ++ BoolInt CPU_IsSupported_ ## name1(void) { return (MY_getauxval(AT_HWCAP) & (HWCAP_ ## name2)); } + + #ifdef MY_CPU_ARM64 + #define MY_HWCAP_CHECK_FUNC(name) \ +@@ -433,7 +459,7 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP + // MY_HWCAP_CHECK_FUNC (ASIMD) + #elif defined(MY_CPU_ARM) + #define MY_HWCAP_CHECK_FUNC(name) \ +- BoolInt CPU_IsSupported_ ## name() { return (getauxval(AT_HWCAP2) & (HWCAP2_ ## name)) ? 1 : 0; } ++ BoolInt CPU_IsSupported_ ## name(void) { return (MY_getauxval(AT_HWCAP2) & (HWCAP2_ ## name)); } + MY_HWCAP_CHECK_FUNC_2(NEON, NEON) + #endif +