mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2025-07-19 15:29:08 +02:00
liburing: Upgrade to 2.7 and fix build on riscv32
Fix build regression with musl Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
a2010f12fd
commit
a8c72984ae
|
@ -0,0 +1,43 @@
|
|||
From 7ea4e55a91e6d5564c6de762c2d1afc78ff9cfd3 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 16 Sep 2024 22:58:38 +0000
|
||||
Subject: [PATCH] test: Compile nolibc.c only when CONFIG_NOLIBC is set
|
||||
|
||||
building nolibc.c fails for non nolibc targets
|
||||
|
||||
Fixes
|
||||
In file included from nolibc.c:33:
|
||||
./../src/lib.h:20:2: error: "This arch doesn't support building liburing without libc"
|
||||
20 | #error "This arch doesn't support building liburing without libc"
|
||||
| ^
|
||||
1 error generated.
|
||||
|
||||
Upstream-Status: Backport [https://github.com/axboe/liburing/commit/a182f62c01f981cd9dd508ec952fbc975b263e3d]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
test/Makefile | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/test/Makefile b/test/Makefile
|
||||
index 0538a75..0dfecb8 100644
|
||||
--- a/test/Makefile
|
||||
+++ b/test/Makefile
|
||||
@@ -126,7 +126,6 @@ test_srcs := \
|
||||
msg-ring-overflow.c \
|
||||
multicqes_drain.c \
|
||||
no-mmap-inval.c \
|
||||
- nolibc.c \
|
||||
nop-all-sizes.c \
|
||||
nop.c \
|
||||
ooo-file-unreg.c \
|
||||
@@ -221,6 +220,10 @@ test_srcs := \
|
||||
all_targets :=
|
||||
include ../Makefile.quiet
|
||||
|
||||
+ifeq ($(CONFIG_NOLIBC),y)
|
||||
+ test_srcs += nolibc.c
|
||||
+endif
|
||||
+
|
||||
ifdef CONFIG_HAVE_STATX
|
||||
test_srcs += statx.c
|
||||
else ifdef CONFIG_HAVE_GLIBC_STATX
|
|
@ -0,0 +1,27 @@
|
|||
From 684bcb2a8795fd399d6c164e51459a2785057b1c Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 17 Sep 2024 09:56:42 -0700
|
||||
Subject: [PATCH 1/2] test: Drop including error.h header
|
||||
|
||||
There is no error APIs being used in this test, therefore
|
||||
drop including it, this also makes it portable to musl
|
||||
systems which do not have error.h
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/axboe/liburing/pull/1233]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
test/init-mem.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/test/init-mem.c b/test/init-mem.c
|
||||
index 6f9a02a..f512190 100644
|
||||
--- a/test/init-mem.c
|
||||
+++ b/test/init-mem.c
|
||||
@@ -13,7 +13,6 @@
|
||||
#include <netinet/udp.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <net/if.h>
|
||||
-#include <error.h>
|
||||
|
||||
#include "liburing.h"
|
||||
#include "helpers.h"
|
|
@ -0,0 +1,32 @@
|
|||
From d06433ff1a1905436cfcde80e22ee51bd9591536 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 17 Sep 2024 09:59:31 -0700
|
||||
Subject: [PATCH 2/2] ooo-file-unreg.c: Include poll.h instead of sys/poll.h
|
||||
|
||||
This fixes a warning e.g.
|
||||
|
||||
In file included from ooo-file-unreg.c:12:
|
||||
/mnt/b/yoe/master/build/tmp/work/riscv32-yoe-linux-musl/liburing/2.7/recipe-sysroot/usr/include/sys/poll.h:1:2: warning: redirecting incorrect #include <sys/poll.h> to <poll.h> [-W#warnings]
|
||||
1 | #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
|
||||
| ^
|
||||
1 warning generated.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/axboe/liburing/pull/1233]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
test/ooo-file-unreg.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/test/ooo-file-unreg.c b/test/ooo-file-unreg.c
|
||||
index d76e0fb..dd6ea55 100644
|
||||
--- a/test/ooo-file-unreg.c
|
||||
+++ b/test/ooo-file-unreg.c
|
||||
@@ -9,7 +9,7 @@
|
||||
#include <sys/socket.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
|
||||
#include "liburing.h"
|
||||
#include "helpers.h"
|
|
@ -9,8 +9,11 @@ SECTION = "libs"
|
|||
LICENSE = "LGPL-2.1-only | MIT"
|
||||
LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=2b0e9926530c269f5ae95560370195af"
|
||||
|
||||
SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https"
|
||||
SRCREV = "f7dcc1ea60819475dffd3a45059e16f04381bee7"
|
||||
SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \
|
||||
file://0001-test-Compile-nolibc.c-only-when-CONFIG_NOLIBC-is-set.patch \
|
||||
file://0001-test-Drop-including-error.h-header.patch \
|
||||
file://0002-ooo-file-unreg.c-Include-poll.h-instead-of-sys-poll..patch"
|
||||
SRCREV = "5227d48b28ad8671e61d444b72678da584d2e6c3"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
@ -19,10 +22,11 @@ XCFLAGS = "-pthread"
|
|||
XCFLAGS:append:libc-musl = " -lucontext"
|
||||
|
||||
USELIBC = ""
|
||||
# clang-18 on RV64 emits memset for arch/riscv64/syscall.h provided __do_syscall4 macro
|
||||
# clang-18+ on RV64 emits memset for arch/riscv64/syscall.h provided __do_syscall4 macro
|
||||
# this does not happen for gcc or older clang, so link with libc since we need memset API
|
||||
# -fno-builtin-memset does not help
|
||||
USELIBC:riscv64:toolchain-clang = "--use-libc"
|
||||
USELIBC:riscv32 = "--use-libc"
|
||||
EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'LDFLAGS=${LDFLAGS}' 'XCFLAGS=${XCFLAGS}' 'BUILDDIR=${S}'"
|
||||
do_configure() {
|
||||
${S}/configure --prefix=${prefix} --libdir=${libdir} --libdevdir=${libdir} --mandir=${mandir} --datadir=${datadir} --includedir=${includedir} ${USELIBC}
|
Loading…
Reference in New Issue
Block a user