mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-05-30 00:50:00 +00: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:
+43
@@ -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
|
||||||
+27
@@ -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"
|
||||||
+32
@@ -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"
|
||||||
+7
-3
@@ -9,8 +9,11 @@ SECTION = "libs"
|
|||||||
LICENSE = "LGPL-2.1-only | MIT"
|
LICENSE = "LGPL-2.1-only | MIT"
|
||||||
LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=2b0e9926530c269f5ae95560370195af"
|
LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=2b0e9926530c269f5ae95560370195af"
|
||||||
|
|
||||||
SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https"
|
SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \
|
||||||
SRCREV = "f7dcc1ea60819475dffd3a45059e16f04381bee7"
|
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"
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
@@ -19,10 +22,11 @@ XCFLAGS = "-pthread"
|
|||||||
XCFLAGS:append:libc-musl = " -lucontext"
|
XCFLAGS:append:libc-musl = " -lucontext"
|
||||||
|
|
||||||
USELIBC = ""
|
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
|
# this does not happen for gcc or older clang, so link with libc since we need memset API
|
||||||
# -fno-builtin-memset does not help
|
# -fno-builtin-memset does not help
|
||||||
USELIBC:riscv64:toolchain-clang = "--use-libc"
|
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}'"
|
EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'LDFLAGS=${LDFLAGS}' 'XCFLAGS=${XCFLAGS}' 'BUILDDIR=${S}'"
|
||||||
do_configure() {
|
do_configure() {
|
||||||
${S}/configure --prefix=${prefix} --libdir=${libdir} --libdevdir=${libdir} --mandir=${mandir} --datadir=${datadir} --includedir=${includedir} ${USELIBC}
|
${S}/configure --prefix=${prefix} --libdir=${libdir} --libdevdir=${libdir} --mandir=${mandir} --datadir=${datadir} --includedir=${includedir} ${USELIBC}
|
||||||
Reference in New Issue
Block a user