]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
openssl: Fix build on risc64/musl
authorKhem Raj <raj.khem@gmail.com>
Wed, 4 Dec 2024 20:01:52 +0000 (12:01 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 9 Dec 2024 09:17:50 +0000 (09:17 +0000)
__NR_riscv_hwprobe is not exported in musl's hwprobe.h
this fails to build with newer kernels

Fixes
| :85:20: error: use of undeclared identifier '__NR_riscv_hwprobe'; did you mean 'riscv_hwprobe'?
|    85 |     return syscall(__NR_riscv_hwprobe, pairs, pair_count, cpu_count, cpus, flags);
|       |                    ^~~~~~~~~~~~~~~~~~

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-connectivity/openssl/openssl/0001-Fix-builds-on-riscv64-using-musl.patch [new file with mode: 0644]
meta/recipes-connectivity/openssl/openssl_3.4.0.bb

diff --git a/meta/recipes-connectivity/openssl/openssl/0001-Fix-builds-on-riscv64-using-musl.patch b/meta/recipes-connectivity/openssl/openssl/0001-Fix-builds-on-riscv64-using-musl.patch
new file mode 100644 (file)
index 0000000..0ec8c93
--- /dev/null
@@ -0,0 +1,36 @@
+From 9131291716073c4ea65a29575880a9d796c22ed6 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Wed, 23 Oct 2024 14:57:20 +0100
+Subject: [PATCH] Fix builds on riscv64 using musl
+
+Some environments using musl are reported to have the hwprobe.h include
+file but not have the __NR_riscv_hwprobe define.
+
+Fixes #25772
+
+Upstream-Status: Backport [https://github.com/openssl/openssl/pull/25787]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/crypto/riscv_arch.h | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/include/crypto/riscv_arch.h b/include/crypto/riscv_arch.h
+index 4b3573f..8858427 100644
+--- a/include/crypto/riscv_arch.h
++++ b/include/crypto/riscv_arch.h
+@@ -15,7 +15,14 @@
+ # if defined(OPENSSL_SYS_LINUX) && !defined(FIPS_MODULE)
+ #  if __has_include(<asm/hwprobe.h>)
+-#   define OSSL_RISCV_HWPROBE
++#   include <sys/syscall.h>
++#   /*
++     * Some environments using musl are reported to have the hwprobe.h include
++     * file but not have the __NR_riscv_hwprobe define.
++     */
++#   ifdef __NR_riscv_hwprobe
++#    define OSSL_RISCV_HWPROBE
++#   endif
+ #  endif
+ # endif
index 734e3c54ef094c0dbec49d202b9b09849753f3a1..b7f96db3941ff5dc6686eb1f1e442609c3dc9d89 100644 (file)
@@ -12,6 +12,7 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
            file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
            file://0001-Configure-do-not-tweak-mips-cflags.patch \
            file://0001-Added-handshake-history-reporting-when-test-fails.patch \
+           file://0001-Fix-builds-on-riscv64-using-musl.patch \
            "
 
 SRC_URI:append:class-nativesdk = " \