https://git.alpinelinux.org/aports/plain/main/busybox/0025-Hackfix-to-disable-HW-acceleration-for-MD5-SHA1-on-x.patch https://bugs.gentoo.org/933771 From 3ead51e53687e94a51beb793661363df27b00814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Tempel?= Date: Thu, 5 Jan 2023 15:47:55 +0100 Subject: [PATCH] Hackfix to disable HW acceleration for MD5/SHA1 on x86 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This causes a direct segfault with musl libc. See: http://lists.busybox.net/pipermail/busybox/2023-January/090078.html --- a/libbb/hash_md5_sha.c +++ b/libbb/hash_md5_sha.c @@ -14,7 +14,7 @@ #define NEED_SHA512 (ENABLE_SHA512SUM || ENABLE_USE_BB_CRYPT_SHA) #if ENABLE_SHA1_HWACCEL || ENABLE_SHA256_HWACCEL -# if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) +# if defined(__GNUC__) && defined(__x86_64__) static void cpuid(unsigned *eax, unsigned *ebx, unsigned *ecx, unsigned *edx) { asm ("cpuid" @@ -1173,7 +1173,7 @@ void FAST_FUNC sha1_begin(sha1_ctx_t *ctx) ctx->total64 = 0; ctx->process_block = sha1_process_block64; #if ENABLE_SHA1_HWACCEL -# if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) +# if defined(__GNUC__) && defined(__x86_64__) { if (!shaNI) { unsigned eax = 7, ebx = ebx, ecx = 0, edx = edx; @@ -1227,7 +1227,7 @@ void FAST_FUNC sha256_begin(sha256_ctx_t *ctx) /*ctx->total64 = 0; - done by prepending two 32-bit zeros to init256 */ ctx->process_block = sha256_process_block64; #if ENABLE_SHA256_HWACCEL -# if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) +# if defined(__GNUC__) && defined(__x86_64__) { if (!shaNI) { unsigned eax = 7, ebx = ebx, ecx = 0, edx = edx;