mirror of
https://github.com/thead-yocto-mirror/meta-openembedded
synced 2026-09-17 04:31:56 +02:00
newer 32bit arches e.g. RV32 and ARC do not have __NR_io_getevents syscall and have started of with 64bit time_t so there is no 32bit version Signed-off-by: Khem Raj <raj.khem@gmail.com>
44 lines
1.4 KiB
Diff
44 lines
1.4 KiB
Diff
From 5d9a869a72420cf0bb08b6aa93e980df90bdcf2e Mon Sep 17 00:00:00 2001
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
Date: Sat, 3 Apr 2021 12:02:36 -0700
|
|
Subject: [PATCH] aio_linux: Check if syscall exists before using it
|
|
|
|
Return -ENOSYS if not implememented, fixes build on arches like RISCV32
|
|
Fixes
|
|
tpool/aio_linux.cc:63:20: error: '__NR_io_getevents' was not declared in this scope; did you mean 'io_getevents'?
|
|
63 | int ret= syscall(__NR_io_getevents, reinterpret_cast<long>(ctx),
|
|
| ^~~~~~~~~~~~~~~~~
|
|
| io_getevents
|
|
|
|
Upstream-Staus: Pending
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
---
|
|
tpool/aio_linux.cc | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/tpool/aio_linux.cc b/tpool/aio_linux.cc
|
|
index d9aa8be2..d8a87a8f 100644
|
|
--- a/tpool/aio_linux.cc
|
|
+++ b/tpool/aio_linux.cc
|
|
@@ -59,6 +59,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 - 1301 USA*/
|
|
*/
|
|
static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev)
|
|
{
|
|
+#ifdef __NR_io_getevents
|
|
int saved_errno= errno;
|
|
int ret= syscall(__NR_io_getevents, reinterpret_cast<long>(ctx),
|
|
min_nr, nr, ev, 0);
|
|
@@ -68,6 +69,9 @@ static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev)
|
|
errno= saved_errno;
|
|
}
|
|
return ret;
|
|
+#else
|
|
+ return -ENOSYS;
|
|
+#endif
|
|
}
|
|
#endif
|
|
|
|
--
|
|
2.31.1
|
|
|