diff mbox series

[1/3] busybox: Backport a patch to build with CONFIG_SHA1_HWACCEL on non-x86

Message ID 20241102203910.1267120-1-pkj@axis.com
State New
Headers show
Series [1/3] busybox: Backport a patch to build with CONFIG_SHA1_HWACCEL on non-x86 | expand

Commit Message

Peter Kjellerstedt Nov. 2, 2024, 8:39 p.m. UTC
This allows CONFIG_SHA1_HWACCEL to be enabled regardless of the
architecture.

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
 ...sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch | 33 +++++++++++++++++++
 meta/recipes-core/busybox/busybox_1.37.0.bb   |  1 +
 2 files changed, 34 insertions(+)
 create mode 100644 meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch

Comments

Richard Purdie Nov. 2, 2024, 10:55 p.m. UTC | #1
On Sat, 2024-11-02 at 21:39 +0100, Peter Kjellerstedt via lists.openembedded.org wrote:
> This allows CONFIG_SHA1_HWACCEL to be enabled regardless of the
> architecture.
> 
> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> ---
>  ...sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch | 33 +++++++++++++++++++
>  meta/recipes-core/busybox/busybox_1.37.0.bb   |  1 +
>  2 files changed, 34 insertions(+)
>  create mode 100644 meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch
> 
> diff --git a/meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch b/meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch
> new file mode 100644
> index 0000000000..2af188938e
> --- /dev/null
> +++ b/meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch
> @@ -0,0 +1,33 @@
> +From bf57f732a5b6842f6fa3e0f90385f039e5d6a92c Mon Sep 17 00:00:00 2001
> +From: Rudi Heitbaum <rudi@heitbaum.com>
> +Date: Sun, 29 Sep 2024 17:57:55 +0000
> +Subject: [PATCH] libbb: fix sha1 on !x86 if CONFIG_SHA1_HWACCEL=y
> +
> +fixes non i386 and x86 builds
> +
> +libbb/hash_md5_sha.c: In function 'sha1_end':
> +libbb/hash_md5_sha.c:1316:35: error: 'sha1_process_block64_shaNI' undeclared
> + 1316 |          || ctx->process_block == sha1_process_block64_shaNI
> +
> +Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
> +Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
> +Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=bf57f732a5b6842f6fa3e0f90385f039e5d6a92c]
> +Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.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;
> diff --git a/meta/recipes-core/busybox/busybox_1.37.0.bb b/meta/recipes-core/busybox/busybox_1.37.0.bb
> index c3131eb453..3aae6eff4d 100644
> --- a/meta/recipes-core/busybox/busybox_1.37.0.bb
> +++ b/meta/recipes-core/busybox/busybox_1.37.0.bb
> @@ -53,6 +53,7 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
>             file://0001-syslogd-fix-wrong-OPT_locallog-flag-detection.patch \
>             file://0002-start-stop-daemon-fix-tests.patch \
>             file://0003-start-stop-false.patch \
> +           file://0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch \
>             "
>  SRC_URI:append:libc-musl = " file://musl.cfg"
>  SRC_URI:append:x86-64 = " file://sha_accel.cfg"

Looks like musl doesn't like this:

https://valkyrie.yoctoproject.org/#/builders/6/builds/368/steps/11/logs/stdio

Cheers,

Richard
Richard Purdie Nov. 2, 2024, 10:57 p.m. UTC | #2
On Sat, 2024-11-02 at 22:55 +0000, Richard Purdie via
lists.openembedded.org wrote:
> On Sat, 2024-11-02 at 21:39 +0100, Peter Kjellerstedt via
> lists.openembedded.org wrote:
> > This allows CONFIG_SHA1_HWACCEL to be enabled regardless of the
> > architecture.
> > 
> > Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> > ---
> >  ...sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch | 33
> > +++++++++++++++++++
> >  meta/recipes-core/busybox/busybox_1.37.0.bb   |  1 +
> >  2 files changed, 34 insertions(+)
> >  create mode 100644 meta/recipes-core/busybox/busybox/0001-libbb-
> > fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch
> > 
> > diff --git a/meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-
> > on-x86-if-CONFIG_SHA1_HWACCEL-y.patch b/meta/recipes-
> > core/busybox/busybox/0001-libbb-fix-sha1-on-x86-if-
> > CONFIG_SHA1_HWACCEL-y.patch
> > new file mode 100644
> > index 0000000000..2af188938e
> > --- /dev/null
> > +++ b/meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-on-x86-
> > if-CONFIG_SHA1_HWACCEL-y.patch
> > @@ -0,0 +1,33 @@
> > +From bf57f732a5b6842f6fa3e0f90385f039e5d6a92c Mon Sep 17 00:00:00
> > 2001
> > +From: Rudi Heitbaum <rudi@heitbaum.com>
> > +Date: Sun, 29 Sep 2024 17:57:55 +0000
> > +Subject: [PATCH] libbb: fix sha1 on !x86 if CONFIG_SHA1_HWACCEL=y
> > +
> > +fixes non i386 and x86 builds
> > +
> > +libbb/hash_md5_sha.c: In function 'sha1_end':
> > +libbb/hash_md5_sha.c:1316:35: error: 'sha1_process_block64_shaNI'
> > undeclared
> > + 1316 |          || ctx->process_block ==
> > sha1_process_block64_shaNI
> > +
> > +Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
> > +Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
> > +Upstream-Status: Backport
> > [https://git.busybox.net/busybox/commit/?id=bf57f732a5b6842f6fa3e0f
> > 90385f039e5d6a92c]
> > +Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.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;
> > diff --git a/meta/recipes-core/busybox/busybox_1.37.0.bb
> > b/meta/recipes-core/busybox/busybox_1.37.0.bb
> > index c3131eb453..3aae6eff4d 100644
> > --- a/meta/recipes-core/busybox/busybox_1.37.0.bb
> > +++ b/meta/recipes-core/busybox/busybox_1.37.0.bb
> > @@ -53,6 +53,7 @@ SRC_URI =
> > "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
> >            
> > file://0001-syslogd-fix-wrong-OPT_locallog-flag-detection.patch \
> >             file://0002-start-stop-daemon-fix-tests.patch \
> >             file://0003-start-stop-false.patch \
> > +          
> > file://0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch \
> >             "
> >  SRC_URI:append:libc-musl = " file://musl.cfg"
> >  SRC_URI:append:x86-64 = " file://sha_accel.cfg"
> 
> Looks like musl doesn't like this:
> 
> https://valkyrie.yoctoproject.org/#/builders/6/builds/368/steps/11/logs/stdio

or qemux86 which is showing relocation in .text errors:

https://valkyrie.yoctoproject.org/#/builders/59/builds/358/steps/11/logs/stdio
https://valkyrie.yoctoproject.org/#/builders/30/builds/357
https://valkyrie.yoctoproject.org/#/builders/19/builds/368/steps/12/logs/stdio

Cheers,

Richard
Andrej Valek Nov. 4, 2024, 6:53 a.m. UTC | #3
Hello Peter,

I was also thinking about picking this two patches, but I didn't have a 
time for verification. Are you sure, that this 
https://lists.busybox.net/pipermail/busybox/2023-January/090078.html has 
been fixed, right? Or did you verify it?

Regards,
Andrej

On 02.11.2024 21:39, Peter Kjellerstedt wrote:
> This allows CONFIG_SHA1_HWACCEL to be enabled regardless of the
> architecture.
>
> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> ---
>   ...sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch | 33 +++++++++++++++++++
>   meta/recipes-core/busybox/busybox_1.37.0.bb   |  1 +
>   2 files changed, 34 insertions(+)
>   create mode 100644 meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch
>
> diff --git a/meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch b/meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch
> new file mode 100644
> index 0000000000..2af188938e
> --- /dev/null
> +++ b/meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch
> @@ -0,0 +1,33 @@
> +From bf57f732a5b6842f6fa3e0f90385f039e5d6a92c Mon Sep 17 00:00:00 2001
> +From: Rudi Heitbaum <rudi@heitbaum.com>
> +Date: Sun, 29 Sep 2024 17:57:55 +0000
> +Subject: [PATCH] libbb: fix sha1 on !x86 if CONFIG_SHA1_HWACCEL=y
> +
> +fixes non i386 and x86 builds
> +
> +libbb/hash_md5_sha.c: In function 'sha1_end':
> +libbb/hash_md5_sha.c:1316:35: error: 'sha1_process_block64_shaNI' undeclared
> + 1316 |          || ctx->process_block == sha1_process_block64_shaNI
> +
> +Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
> +Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
> +Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=bf57f732a5b6842f6fa3e0f90385f039e5d6a92c]
> +Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.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;
> diff --git a/meta/recipes-core/busybox/busybox_1.37.0.bb b/meta/recipes-core/busybox/busybox_1.37.0.bb
> index c3131eb453..3aae6eff4d 100644
> --- a/meta/recipes-core/busybox/busybox_1.37.0.bb
> +++ b/meta/recipes-core/busybox/busybox_1.37.0.bb
> @@ -53,6 +53,7 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
>              file://0001-syslogd-fix-wrong-OPT_locallog-flag-detection.patch \
>              file://0002-start-stop-daemon-fix-tests.patch \
>              file://0003-start-stop-false.patch \
> +           file://0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch \
>              "
>   SRC_URI:append:libc-musl = " file://musl.cfg"
>   SRC_URI:append:x86-64 = " file://sha_accel.cfg"
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#206655): https://lists.openembedded.org/g/openembedded-core/message/206655
> Mute This Topic: https://lists.openembedded.org/mt/109357849/3619876
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [andrej.v@skyrain.eu]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch b/meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch
new file mode 100644
index 0000000000..2af188938e
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch
@@ -0,0 +1,33 @@ 
+From bf57f732a5b6842f6fa3e0f90385f039e5d6a92c Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <rudi@heitbaum.com>
+Date: Sun, 29 Sep 2024 17:57:55 +0000
+Subject: [PATCH] libbb: fix sha1 on !x86 if CONFIG_SHA1_HWACCEL=y
+
+fixes non i386 and x86 builds
+
+libbb/hash_md5_sha.c: In function 'sha1_end':
+libbb/hash_md5_sha.c:1316:35: error: 'sha1_process_block64_shaNI' undeclared
+ 1316 |          || ctx->process_block == sha1_process_block64_shaNI
+
+Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
+Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
+Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=bf57f732a5b6842f6fa3e0f90385f039e5d6a92c]
+Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.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;
diff --git a/meta/recipes-core/busybox/busybox_1.37.0.bb b/meta/recipes-core/busybox/busybox_1.37.0.bb
index c3131eb453..3aae6eff4d 100644
--- a/meta/recipes-core/busybox/busybox_1.37.0.bb
+++ b/meta/recipes-core/busybox/busybox_1.37.0.bb
@@ -53,6 +53,7 @@  SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://0001-syslogd-fix-wrong-OPT_locallog-flag-detection.patch \
            file://0002-start-stop-daemon-fix-tests.patch \
            file://0003-start-stop-false.patch \
+           file://0001-libbb-fix-sha1-on-x86-if-CONFIG_SHA1_HWACCEL-y.patch \
            "
 SRC_URI:append:libc-musl = " file://musl.cfg"
 SRC_URI:append:x86-64 = " file://sha_accel.cfg"