summaryrefslogtreecommitdiff
path: root/sys-apps/busybox/files/busybox-1.36.1-skip-dynamic-relocations.patch
blob: 4da0d4666ef3990afb1ee3b33971a3ccd3377578 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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?= <soeren+git@soeren-tempel.net>
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;