1From 0a3222338efc108c831fbdd719a47d35f4b0adcd Mon Sep 17 00:00:00 2001 2From: Khem Raj <raj.khem@gmail.com> 3Date: Wed, 18 Aug 2021 06:49:25 +0000 4Subject: [PATCH] aio_linux: Check if syscall exists before using it 5 6Return -ENOSYS if not implememented, fixes build on arches like RISCV32 7Fixes 8tpool/aio_linux.cc:63:20: error: '__NR_io_getevents' was not declared in this scope; did you mean 'io_getevents'? 9 63 | int ret= syscall(__NR_io_getevents, reinterpret_cast<long>(ctx), 10 | ^~~~~~~~~~~~~~~~~ 11 | io_getevents 12 13Upstream-Staus: Pending 14Signed-off-by: Khem Raj <raj.khem@gmail.com> 15--- 16 tpool/aio_linux.cc | 4 ++++ 17 1 file changed, 4 insertions(+) 18 19diff --git a/tpool/aio_linux.cc b/tpool/aio_linux.cc 20index 4abc213..da75411 100644 21--- a/tpool/aio_linux.cc 22+++ b/tpool/aio_linux.cc 23@@ -58,6 +58,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 - 1301 USA*/ 24 */ 25 static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev) 26 { 27+#ifdef __NR_io_getevents 28 int saved_errno= errno; 29 int ret= syscall(__NR_io_getevents, reinterpret_cast<long>(ctx), 30 min_nr, nr, ev, 0); 31@@ -67,6 +68,9 @@ static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev) 32 errno= saved_errno; 33 } 34 return ret; 35+#else 36+ return -ENOSYS; 37+#endif 38 } 39 40 41-- 422.29.2 43 44