From: Brad Smith Subject: Sync up LZMA CpumArch patches To: ports@openbsd.org Cc: sthen@openbsd.org Date: Sat, 1 Aug 2026 01:11:40 -0400 I noticed there were a few copies of the LZMA SDK CpuArch patches in the tree. I synched them up so they are all the same as what is upstream. I only patched archivers/unarr, emulators/mame and graphics/blender. I did not touch the copies in www/chromium, www/iridium, www/ungoogled-chromium and x11/qt6/qtwebengine. I also sent kn@ an update to sysutils/uefitool and ports@ an update to sysutils/ugrep. I got upstream for both to sync up to newer (26.00+) LZMA SDK. Index: archivers/unarr/Makefile =================================================================== RCS file: /cvs/ports/archivers/unarr/Makefile,v retrieving revision 1.8 diff -u -p -u -p -r1.8 Makefile --- archivers/unarr/Makefile 8 Jul 2026 12:41:58 -0000 1.8 +++ archivers/unarr/Makefile 30 Jul 2026 06:55:39 -0000 @@ -1,7 +1,7 @@ COMMENT = decompression library for rar, tar, zip and 7z archives V = 1.1.1 -REVISION = 0 +REVISION = 1 DISTNAME = unarr-${V} SHARED_LIBS = unarr 0.1 Index: archivers/unarr/patches/patch-lzmasdk_CpuArch_c =================================================================== RCS file: /cvs/ports/archivers/unarr/patches/patch-lzmasdk_CpuArch_c,v retrieving revision 1.1 diff -u -p -u -p -r1.1 patch-lzmasdk_CpuArch_c --- archivers/unarr/patches/patch-lzmasdk_CpuArch_c 28 Sep 2023 17:17:33 -0000 1.1 +++ archivers/unarr/patches/patch-lzmasdk_CpuArch_c 30 Jul 2026 06:55:39 -0000 @@ -1,17 +1,75 @@ -disable asm checks on aarch64; unbreak the build: it assumes sys/auxv.h -(for getauxval) and asm/hwcap.h (for AT_HWCAP.) +- 24.05 + fc662341e6f85da78ada0e443f6116b978f79f22 +- 26.00 + 839151eaaad24771892afaae6bac690e31e58384 Index: lzmasdk/CpuArch.c --- lzmasdk/CpuArch.c.orig +++ lzmasdk/CpuArch.c -@@ -760,10 +760,6 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP +@@ -760,32 +760,62 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP #else // __APPLE__ -#include -- --#define USE_HWCAP -- ++#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) \ + MY_HWCAP_CHECK_FUNC_2(name, name) ++#if 1 || defined(__ARM_NEON) ++ BoolInt CPU_IsSupported_NEON(void) { return True; } ++#else + MY_HWCAP_CHECK_FUNC_2(NEON, ASIMD) ++#endif + // 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 + + #else // USE_HWCAP + + #define MY_HWCAP_CHECK_FUNC(name) \ +- BoolInt CPU_IsSupported_ ## name() { return 0; } ++ BoolInt CPU_IsSupported_ ## name(void) { return 0; } + MY_HWCAP_CHECK_FUNC(NEON) + + #endif // USE_HWCAP Index: emulators/mame/Makefile =================================================================== RCS file: /cvs/ports/emulators/mame/Makefile,v retrieving revision 1.103 diff -u -p -u -p -r1.103 Makefile --- emulators/mame/Makefile 28 May 2026 20:40:21 -0000 1.103 +++ emulators/mame/Makefile 30 Jul 2026 06:55:39 -0000 @@ -10,6 +10,7 @@ GH_ACCOUNT = mamedev GH_PROJECT = mame GH_TAGNAME = mame0${V} DISTNAME = mame-0.${V} +REVISION = 0 CATEGORIES = emulators HOMEPAGE = https://mamedev.org/ Index: emulators/mame/patches/patch-3rdparty_lzma_C_CpuArch_c =================================================================== RCS file: /cvs/ports/emulators/mame/patches/patch-3rdparty_lzma_C_CpuArch_c,v retrieving revision 1.1 diff -u -p -u -p -r1.1 patch-3rdparty_lzma_C_CpuArch_c --- emulators/mame/patches/patch-3rdparty_lzma_C_CpuArch_c 17 Apr 2024 16:22:59 -0000 1.1 +++ emulators/mame/patches/patch-3rdparty_lzma_C_CpuArch_c 30 Jul 2026 06:55:39 -0000 @@ -1,38 +1,75 @@ +- 24.05 + fc662341e6f85da78ada0e443f6116b978f79f22 +- 26.00 + 839151eaaad24771892afaae6bac690e31e58384 + Index: 3rdparty/lzma/C/CpuArch.c --- 3rdparty/lzma/C/CpuArch.c.orig +++ 3rdparty/lzma/C/CpuArch.c -@@ -757,6 +757,34 @@ BoolInt CPU_IsSupported_SHA1(void) { return APPLE_CRYP - BoolInt CPU_IsSupported_SHA2(void) { return APPLE_CRYPTO_SUPPORT_VAL; } - BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYPTO_SUPPORT_VAL; } - -+#elif defined(__OpenBSD__) -+ -+#include -+#include -+#include -+#include -+ -+BoolInt CPU_IsSupported_NEON() { return 1; } -+ -+#define MY_HWCAP_CHECK_FUNC_2(name1, name2) \ -+ BoolInt CPU_IsSupported_ ## name1() { \ -+ int isar0_mib[] = { CTL_MACHDEP, CPU_ID_AA64ISAR0 }; \ -+ size_t len = sizeof(uint64_t); \ -+ uint64_t cpu_id = 0; \ -+ if (sysctl(isar0_mib, 2, &cpu_id, &len, NULL, 0) < 0) \ -+ return 0; \ -+ if (ID_AA64ISAR0_ ## name2(cpu_id) >= ID_AA64ISAR0_## name2 ##_BASE) \ -+ return 1; \ -+ return 0; \ -+ } -+ -+#define MY_HWCAP_CHECK_FUNC(name) \ -+ MY_HWCAP_CHECK_FUNC_2(name, name) -+ -+MY_HWCAP_CHECK_FUNC (CRC32) -+MY_HWCAP_CHECK_FUNC (SHA1) -+MY_HWCAP_CHECK_FUNC (SHA2) -+MY_HWCAP_CHECK_FUNC (AES) +@@ -760,32 +760,62 @@ 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) \ + MY_HWCAP_CHECK_FUNC_2(name, name) ++#if 1 || defined(__ARM_NEON) ++ BoolInt CPU_IsSupported_NEON(void) { return True; } ++#else + MY_HWCAP_CHECK_FUNC_2(NEON, ASIMD) ++#endif + // 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 + + #else // USE_HWCAP + + #define MY_HWCAP_CHECK_FUNC(name) \ +- BoolInt CPU_IsSupported_ ## name() { return 0; } ++ BoolInt CPU_IsSupported_ ## name(void) { return 0; } + MY_HWCAP_CHECK_FUNC(NEON) + + #endif // USE_HWCAP Index: graphics/blender/Makefile =================================================================== RCS file: /cvs/ports/graphics/blender/Makefile,v retrieving revision 1.151 diff -u -p -u -p -r1.151 Makefile --- graphics/blender/Makefile 2 Mar 2026 15:00:23 -0000 1.151 +++ graphics/blender/Makefile 30 Jul 2026 06:55:39 -0000 @@ -9,7 +9,7 @@ COMMENT = 3D creation software VERSION = 4.5.3 V = ${VERSION:R} DISTNAME = blender-${VERSION} -REVISION = 3 +REVISION = 4 CATEGORIES = graphics Index: graphics/blender/patches/patch-extern_lzma_CpuArch_c =================================================================== RCS file: /cvs/ports/graphics/blender/patches/patch-extern_lzma_CpuArch_c,v retrieving revision 1.1 diff -u -p -u -p -r1.1 patch-extern_lzma_CpuArch_c --- graphics/blender/patches/patch-extern_lzma_CpuArch_c 5 Jun 2025 11:03:11 -0000 1.1 +++ graphics/blender/patches/patch-extern_lzma_CpuArch_c 30 Jul 2026 06:55:39 -0000 @@ -1,36 +1,75 @@ -Fix build on arm64 and make use of elf_aux_info to emulate getauxval. +- 24.05 + fc662341e6f85da78ada0e443f6116b978f79f22 +- 26.00 + 839151eaaad24771892afaae6bac690e31e58384 Index: extern/lzma/CpuArch.c --- extern/lzma/CpuArch.c.orig +++ extern/lzma/CpuArch.c -@@ -760,13 +760,28 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP +@@ -760,32 +760,62 @@ BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYP #else // __APPLE__ -#include -- -+#if defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) ++#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 -+#include -+ -+#ifdef __linux__ - #include -+#endif -+ +#if defined(__FreeBSD__) || defined(__OpenBSD__) -+static inline -+unsigned long getauxval(int aux) { -+ unsigned long val; -+ -+ if (elf_aux_info(aux, &val, sizeof(val)) == -1) -+ val = 0; -+ return val; ++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() { 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) \ + MY_HWCAP_CHECK_FUNC_2(name, name) ++#if 1 || defined(__ARM_NEON) ++ BoolInt CPU_IsSupported_NEON(void) { return True; } ++#else + MY_HWCAP_CHECK_FUNC_2(NEON, ASIMD) ++#endif + // 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 + + #else // USE_HWCAP + + #define MY_HWCAP_CHECK_FUNC(name) \ +- BoolInt CPU_IsSupported_ ## name() { return 0; } ++ BoolInt CPU_IsSupported_ ## name(void) { return 0; } + MY_HWCAP_CHECK_FUNC(NEON) + + #endif // USE_HWCAP