mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: busybox: Fix build on non x86 platform.
* gnu/packages/patches/busybox-add-missing-sha-NI-guard.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/busybox.scm (busybox): Use it. Change-Id: I1e6a24dd5b86871a3479ab6ecd247b31c746ec75
This commit is contained in:
parent
d29090727b
commit
4491dec50a
3 changed files with 53 additions and 1 deletions
|
@ -1032,6 +1032,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/breezy-fix-gio.patch \
|
%D%/packages/patches/breezy-fix-gio.patch \
|
||||||
%D%/packages/patches/byobu-writable-status.patch \
|
%D%/packages/patches/byobu-writable-status.patch \
|
||||||
%D%/packages/patches/bubblewrap-fix-locale-in-tests.patch \
|
%D%/packages/patches/bubblewrap-fix-locale-in-tests.patch \
|
||||||
|
%D%/packages/patches/busybox-add-missing-sha-NI-guard.patch \
|
||||||
%D%/packages/patches/cadical-add-shared-library.patch \
|
%D%/packages/patches/cadical-add-shared-library.patch \
|
||||||
%D%/packages/patches/calibre-no-updates-dialog.patch \
|
%D%/packages/patches/calibre-no-updates-dialog.patch \
|
||||||
%D%/packages/patches/calibre-remove-test-sqlite.patch \
|
%D%/packages/patches/calibre-remove-test-sqlite.patch \
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
;;; Copyright © 2016-2020, 2023 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016-2020, 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2022 LuHui <luhux76@gmail.com>
|
;;; Copyright © 2022 LuHui <luhux76@gmail.com>
|
||||||
|
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -44,7 +45,9 @@
|
||||||
version ".tar.bz2"))
|
version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1923f21rnlbv1qjvk2qhgqnki5mkgr6z0p8dvzs9jr3l5vrxy49k"))))
|
"1923f21rnlbv1qjvk2qhgqnki5mkgr6z0p8dvzs9jr3l5vrxy49k"))
|
||||||
|
(patches
|
||||||
|
(search-patches "busybox-add-missing-sha-NI-guard.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:phases
|
(list #:phases
|
||||||
|
|
48
gnu/packages/patches/busybox-add-missing-sha-NI-guard.patch
Normal file
48
gnu/packages/patches/busybox-add-missing-sha-NI-guard.patch
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
from https://lists.busybox.net/pipermail/busybox/2024-September/090899.html
|
||||||
|
|
||||||
|
The ENABLE_SHA1_HWACCEL Kconfig symbol is meant to be archicture
|
||||||
|
agnostic, so can be enabled regardless of whether your build
|
||||||
|
architecture provides hardware acceleration or not.
|
||||||
|
At the moment only
|
||||||
|
x86 implements this, so every piece of optimised code should be guarded
|
||||||
|
by both ENABLE_SHA1_HWACCEL and (__x86_64__ || __i386__).
|
||||||
|
This is missing
|
||||||
|
at one place, so compiling for arm64 breaks when ENABLE_SHA1_HWACCEL is
|
||||||
|
enabled:
|
||||||
|
================================
|
||||||
|
libbb/hash_md5_sha.c: In function ‘sha1_end’:
|
||||||
|
libbb/hash_md5_sha.c:1316:28: error: ‘sha1_process_block64_shaNI’ undeclared (first use in this function); did you mean ‘sha1_process_block64’?
|
||||||
|
|
||||||
|
1316 | || ctx->process_block == sha1_process_block64_shaNI
|
||||||
|
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
| sha1_process_block64
|
||||||
|
libbb/hash_md5_sha.c:1316:28: note: each undeclared identifier is reported only once for each function it appears in
|
||||||
|
make[1]: *** [scripts/Makefile.build:197: libbb/hash_md5_sha.o] Error 1
|
||||||
|
make: *** [Makefile:744: libbb] Error 2
|
||||||
|
================================
|
||||||
|
|
||||||
|
Add the missing guards around the call to sha1_process_block64_shaNI to
|
||||||
|
fix the build on other architectures with ENABLE_SHA1_HWACCEL enabled.
|
||||||
|
|
||||||
|
Change-Id: I40bba388422625f4230abf15a5de23e1fdc654fc
|
||||||
|
Signed-off-by: Andre Przywara <andre.przywara at arm.com>
|
||||||
|
---
|
||||||
|
libbb/hash_md5_sha.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/libbb/hash_md5_sha.c b/libbb/hash_md5_sha.c
|
||||||
|
index 57a801459..75a61c32c 100644
|
||||||
|
--- a/libbb/hash_md5_sha.c
|
||||||
|
+++ b/libbb/hash_md5_sha.c
|
||||||
|
@@ -1313,7 +1313,9 @@ unsigned FAST_FUNC sha1_end(sha1_ctx_t *ctx, void *resbuf)
|
||||||
|
hash_size = 8;
|
||||||
|
if (ctx->process_block == sha1_process_block64
|
||||||
|
#if ENABLE_SHA1_HWACCEL
|
||||||
|
+# if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
|
||||||
|
|| ctx->process_block == sha1_process_block64_shaNI
|
||||||
|
+# endif
|
||||||
|
#endif
|
||||||
|
) {
|
||||||
|
hash_size = 5;
|
||||||
|
--
|
||||||
|
2.25.1
|
Loading…
Add table
Add a link
Reference in a new issue