mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-05 02:50:46 +00:00
liburing: Upgrade to 2.0
- Remove upstreamed 0001-test-Fix-build-on-32bit-architectures-with-6bit-time.patch - Fix for removal of SIGSTKSZ - Forward remaining patches - Fix tests on arm/riscv32 Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
From 3ee2f1e231bde18a99f86da747a9b8feca3c179d Mon Sep 17 00:00:00 2001
|
From 653c39b0b30b2a329db5041e558cfc97c03d6bfb Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Wed, 17 Feb 2021 19:18:16 -0800
|
Date: Wed, 17 Feb 2021 19:18:16 -0800
|
||||||
Subject: [PATCH] do not build examples
|
Subject: [PATCH] do not build examples
|
||||||
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||||||
1 file changed, 1 deletion(-)
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/Makefile b/Makefile
|
diff --git a/Makefile b/Makefile
|
||||||
index 948e004..8b63024 100644
|
index 5d9c4dc..53e1615 100644
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -11,7 +11,6 @@ default: all
|
@@ -11,7 +11,6 @@ default: all
|
||||||
@@ -23,8 +23,8 @@ index 948e004..8b63024 100644
|
|||||||
@$(MAKE) -C test
|
@$(MAKE) -C test
|
||||||
- @$(MAKE) -C examples
|
- @$(MAKE) -C examples
|
||||||
|
|
||||||
partcheck: all
|
.PHONY: all install default clean test
|
||||||
@echo "make partcheck => TODO add tests with out kernel support"
|
.PHONY: FORCE cscope
|
||||||
--
|
--
|
||||||
2.30.1
|
2.31.1
|
||||||
|
|
||||||
|
|||||||
+37
@@ -0,0 +1,37 @@
|
|||||||
|
From a30d62dfb9ea30af58ef331fae1e6f727d0558c0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Tue, 4 May 2021 10:32:08 -0700
|
||||||
|
Subject: [PATCH] examples/ucontext-cp.c: Do not use SIGSTKSZ
|
||||||
|
|
||||||
|
glibc 2.34 has removed SIGSTKSZ therefore we replace it
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
examples/ucontext-cp.c | 6 +-----
|
||||||
|
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||||
|
|
||||||
|
--- a/examples/ucontext-cp.c
|
||||||
|
+++ b/examples/ucontext-cp.c
|
||||||
|
@@ -3,6 +3,7 @@
|
||||||
|
* gcc -Wall -O2 -D_GNU_SOURCE -o ucontext-cp ucontext-cp.c -luring
|
||||||
|
*/
|
||||||
|
#define _POSIX_C_SOURCE 199309L
|
||||||
|
+#include <stddef.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <string.h>
|
||||||
|
@@ -22,13 +23,9 @@
|
||||||
|
#define QD 64
|
||||||
|
#define BS 1024
|
||||||
|
|
||||||
|
-#ifndef SIGSTKSZ
|
||||||
|
-#define SIGSTKSZ 8192
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
typedef struct {
|
||||||
|
struct io_uring *ring;
|
||||||
|
- unsigned char stack_buf[SIGSTKSZ];
|
||||||
|
+ max_align_t stack_buf[(8 * 1024 + sizeof (max_align_t) - 1) / sizeof (max_align_t)];
|
||||||
|
ucontext_t ctx_main, ctx_fnew;
|
||||||
|
} async_context;
|
||||||
|
|
||||||
-35
@@ -1,35 +0,0 @@
|
|||||||
From 0a9b12eda0f6e487398dad004121bdd1be792428 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Date: Sat, 14 Nov 2020 16:18:44 -0800
|
|
||||||
Subject: [PATCH] test: Fix build on 32bit architectures with 6bit time_t
|
|
||||||
|
|
||||||
It uses SYS_futex, which it expects from system C library.
|
|
||||||
in glibc (/usr/include/bits/syscall.h defines it in terms of of NR_futex)
|
|
||||||
rv32 is using 64bit time_t from get go unlike other 32bit architectures
|
|
||||||
in glibc, therefore it wont have NR_futex defined but just NR_futex_time64
|
|
||||||
this aliases it to NR_futex so that SYS_futex is then defined for rv32
|
|
||||||
|
|
||||||
Upstream-Status: Submitted [https://github.com/axboe/liburing/pull/237]
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
test/35fa71a030ca-test.c | 4 ++++
|
|
||||||
1 file changed, 4 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/test/35fa71a030ca-test.c b/test/35fa71a030ca-test.c
|
|
||||||
index 4ecf211..7f2124b 100644
|
|
||||||
--- a/test/35fa71a030ca-test.c
|
|
||||||
+++ b/test/35fa71a030ca-test.c
|
|
||||||
@@ -24,6 +24,10 @@
|
|
||||||
|
|
||||||
#include <linux/futex.h>
|
|
||||||
|
|
||||||
+#if !defined(SYS_futex) && defined(SYS_futex_time64)
|
|
||||||
+# define SYS_futex SYS_futex_time64
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
static void sleep_ms(uint64_t ms)
|
|
||||||
{
|
|
||||||
usleep(ms * 1000);
|
|
||||||
--
|
|
||||||
2.29.2
|
|
||||||
|
|
||||||
+53
@@ -0,0 +1,53 @@
|
|||||||
|
From 2d3940163e14d183fddc4d8b24cc1d3865bba0b3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Wed, 5 May 2021 09:36:36 -0700
|
||||||
|
Subject: [PATCH] tests: fix portability issue when using __NR_mmap syscall
|
||||||
|
|
||||||
|
On some architectures e.g. ARM and RISCV32, __NR_mmap does not exist and
|
||||||
|
libc will then use NR_mmap2 to implement mmap() API, therefore use
|
||||||
|
system C library mmap() API instead of calling the syscall directly
|
||||||
|
|
||||||
|
Upstream-Status: Partial Backport [https://github.com/axboe/liburing/commit/808b6c72ab753bda0c300b5683cfd31750d1d49b]
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
test/double-poll-crash.c | 6 +++---
|
||||||
|
test/sqpoll-disable-exit.c | 6 +++---
|
||||||
|
2 files changed, 6 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test/double-poll-crash.c b/test/double-poll-crash.c
|
||||||
|
index 1a219c7..6e08285 100644
|
||||||
|
--- a/test/double-poll-crash.c
|
||||||
|
+++ b/test/double-poll-crash.c
|
||||||
|
@@ -150,9 +150,9 @@ int main(int argc, char *argv[])
|
||||||
|
if (argc > 1)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
- syscall(__NR_mmap, 0x1ffff000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
|
||||||
|
- syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
|
||||||
|
- syscall(__NR_mmap, 0x21000000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
|
||||||
|
+ mmap((void *) 0x1ffff000, (size_t) 0x1000, PROT_NONE, MAP_FIXED | MAP_ANONYMOUS, -1, 0);
|
||||||
|
+ mmap((void *) 0x20000000, (size_t) 0x1000000, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_FIXED | MAP_ANONYMOUS, -1, 0);
|
||||||
|
+ mmap((void *) 0x21000000, (size_t) 0x1000, PROT_NONE, MAP_FIXED | MAP_ANONYMOUS, -1, 0);
|
||||||
|
intptr_t res = 0;
|
||||||
|
*(uint32_t*)0x20000484 = 0;
|
||||||
|
*(uint32_t*)0x20000488 = 0;
|
||||||
|
diff --git a/test/sqpoll-disable-exit.c b/test/sqpoll-disable-exit.c
|
||||||
|
index d4e17f8..a0d00cc 100644
|
||||||
|
--- a/test/sqpoll-disable-exit.c
|
||||||
|
+++ b/test/sqpoll-disable-exit.c
|
||||||
|
@@ -223,9 +223,9 @@ void execute_one(void)
|
||||||
|
}
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
- syscall(__NR_mmap, 0x1ffff000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
|
||||||
|
- syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
|
||||||
|
- syscall(__NR_mmap, 0x21000000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
|
||||||
|
+ mmap((void *) 0x1ffff000, (size_t) 0x1000, PROT_NONE, MAP_FIXED | MAP_ANONYMOUS, -1, 0);
|
||||||
|
+ mmap((void *) 0x20000000, (size_t) 0x1000000, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_FIXED | MAP_ANONYMOUS, -1, 0);
|
||||||
|
+ mmap((void *) 0x21000000, (size_t) 0x1000, PROT_NONE, MAP_FIXED | MAP_ANONYMOUS, -1, 0);
|
||||||
|
loop();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
||||||
+3
-2
@@ -10,12 +10,13 @@ LICENSE = "LGPLv2.1 | MIT"
|
|||||||
LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=d51b5805e2a675685e6a66ca50904cf9"
|
LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=d51b5805e2a675685e6a66ca50904cf9"
|
||||||
|
|
||||||
SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \
|
SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \
|
||||||
file://0001-test-Fix-build-on-32bit-architectures-with-6bit-time.patch \
|
file://0001-examples-ucontext-cp.c-Do-not-use-SIGSTKSZ.patch \
|
||||||
|
file://0001-tests-fix-portability-issue-when-using-__NR_mmap-sys.patch \
|
||||||
"
|
"
|
||||||
SRC_URI_append_libc-musl_riscv64 = " file://0001-do-not-build-examples.patch "
|
SRC_URI_append_libc-musl_riscv64 = " file://0001-do-not-build-examples.patch "
|
||||||
SRC_URI_append_libc-musl_riscv32 = " file://0001-do-not-build-examples.patch "
|
SRC_URI_append_libc-musl_riscv32 = " file://0001-do-not-build-examples.patch "
|
||||||
|
|
||||||
SRCREV = "45f0735219a615ae848033c47c7e2d85d101d43e"
|
SRCREV = "b013dfd5a5f65116373d5e0f0bdfb73db9d8816e"
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
DEPENDS_append_libc-musl = " libucontext"
|
DEPENDS_append_libc-musl = " libucontext"
|
||||||
Reference in New Issue
Block a user