diff options
author | Khem Raj <raj.khem@gmail.com> | 2021-10-31 12:07:55 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2021-11-01 05:45:17 -0700 |
commit | d27bf0b122aa71636faae9819fd78acf74cdba7b (patch) | |
tree | ffa11398f7c4e4f4c4816137aac13f672f312840 /meta-oe/recipes-support | |
parent | 2dd1a2f2a9730326a4b1b32f6246ae93178906eb (diff) | |
download | meta-openembedded-d27bf0b122aa71636faae9819fd78acf74cdba7b.tar.gz |
liburing: Use libc mmap() wrapper instead of calling __NR_mmap syscall directly
Fixes build on arm and rv32
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Diffstat (limited to 'meta-oe/recipes-support')
-rw-r--r-- | meta-oe/recipes-support/liburing/liburing/0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch | 59 | ||||
-rw-r--r-- | meta-oe/recipes-support/liburing/liburing_2.1.bb | 4 |
2 files changed, 62 insertions, 1 deletions
diff --git a/meta-oe/recipes-support/liburing/liburing/0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch b/meta-oe/recipes-support/liburing/liburing/0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch new file mode 100644 index 000000000..2777a9404 --- /dev/null +++ b/meta-oe/recipes-support/liburing/liburing/0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch | |||
@@ -0,0 +1,59 @@ | |||
1 | From cb350a8989adbd65db574325d9a86d5437d800da Mon Sep 17 00:00:00 2001 | ||
2 | From: Guillem Jover <guillem@hadrons.org> | ||
3 | Date: Mon, 13 Sep 2021 23:56:08 +0200 | ||
4 | Subject: [PATCH] test: Use syscall wrappers instead of using syscall(2) directly | ||
5 | |||
6 | Some of these syscalls have different entry points depending on the | ||
7 | architecture. Use the wrappers to avoid having to reimplement them | ||
8 | portably. | ||
9 | |||
10 | Fixes build failures on Debian armel and armhf builds. | ||
11 | |||
12 | Upstream-Status: Backport [https://github.com/kraj/liburing/commit/cb350a8989adbd65db574325d9a86d5437d800da] | ||
13 | Signed-off-by: Guillem Jover <guillem@hadrons.org> | ||
14 | --- | ||
15 | test/sqpoll-cancel-hang.c | 7 ++----- | ||
16 | 1 file changed, 2 insertions(+), 5 deletions(-) | ||
17 | |||
18 | diff --git a/test/sqpoll-cancel-hang.c b/test/sqpoll-cancel-hang.c | ||
19 | index c9032c8..e561478 100644 | ||
20 | --- a/test/sqpoll-cancel-hang.c | ||
21 | +++ b/test/sqpoll-cancel-hang.c | ||
22 | @@ -4,7 +4,6 @@ | ||
23 | #include <stdlib.h> | ||
24 | #include <string.h> | ||
25 | #include <sys/mman.h> | ||
26 | -#include <sys/syscall.h> | ||
27 | #include <sys/wait.h> | ||
28 | #include <time.h> | ||
29 | #include <unistd.h> | ||
30 | @@ -29,8 +28,6 @@ static uint64_t current_time_ms(void) | ||
31 | |||
32 | #define IORING_OFF_SQES 0x10000000ULL | ||
33 | |||
34 | -#define sys_io_uring_setup 425 | ||
35 | - | ||
36 | static void kill_and_wait(int pid, int* status) | ||
37 | { | ||
38 | kill(-pid, SIGKILL); | ||
39 | @@ -53,7 +50,7 @@ a5) | ||
40 | void* vma2 = (void*)a3; | ||
41 | void** ring_ptr_out = (void**)a4; | ||
42 | void** sqes_ptr_out = (void**)a5; | ||
43 | - uint32_t fd_io_uring = syscall(sys_io_uring_setup, entries, setup_params); | ||
44 | + uint32_t fd_io_uring = __sys_io_uring_setup(entries, setup_params); | ||
45 | uint32_t sq_ring_sz = setup_params->sq_off.array + | ||
46 | setup_params->sq_entries * sizeof(uint32_t); | ||
47 | uint32_t cq_ring_sz = setup_params->cq_off.cqes + | ||
48 | @@ -135,7 +132,7 @@ void trigger_bug(void) | ||
49 | } | ||
50 | int main(void) | ||
51 | { | ||
52 | - syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul); | ||
53 | + mmap((void *)0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul); | ||
54 | int pid = fork(); | ||
55 | if (pid < 0) | ||
56 | exit(1); | ||
57 | -- | ||
58 | 2.33.1 | ||
59 | |||
diff --git a/meta-oe/recipes-support/liburing/liburing_2.1.bb b/meta-oe/recipes-support/liburing/liburing_2.1.bb index b4f0b11f4..f519bf236 100644 --- a/meta-oe/recipes-support/liburing/liburing_2.1.bb +++ b/meta-oe/recipes-support/liburing/liburing_2.1.bb | |||
@@ -9,7 +9,9 @@ SECTION = "libs" | |||
9 | LICENSE = "LGPLv2.1 | MIT" | 9 | LICENSE = "LGPLv2.1 | MIT" |
10 | LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=d51b5805e2a675685e6a66ca50904cf9" | 10 | LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=d51b5805e2a675685e6a66ca50904cf9" |
11 | 11 | ||
12 | SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https" | 12 | SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \ |
13 | file://0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch \ | ||
14 | " | ||
13 | SRC_URI:append:libc-musl:riscv64 = " file://0001-do-not-build-examples.patch " | 15 | SRC_URI:append:libc-musl:riscv64 = " file://0001-do-not-build-examples.patch " |
14 | SRC_URI:append:libc-musl:riscv32 = " file://0001-do-not-build-examples.patch " | 16 | SRC_URI:append:libc-musl:riscv32 = " file://0001-do-not-build-examples.patch " |
15 | SRCREV = "41a61c97c2e3df4475c93fdf5026d575ce3f1377" | 17 | SRCREV = "41a61c97c2e3df4475c93fdf5026d575ce3f1377" |