blob: 6ed174113becf62479a7f6d6c4126637d8b866b4 [file] [log] [blame]
Andrew Geisslerd159c7f2021-09-02 21:05:58 -05001From 0a3222338efc108c831fbdd719a47d35f4b0adcd Mon Sep 17 00:00:00 2001
Andrew Geisslere34f8962021-04-15 15:53:51 -05002From: Khem Raj <raj.khem@gmail.com>
Andrew Geisslerd159c7f2021-09-02 21:05:58 -05003Date: Wed, 18 Aug 2021 06:49:25 +0000
Andrew Geisslere34f8962021-04-15 15:53:51 -05004Subject: [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
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050020index 4abc213..da75411 100644
Andrew Geisslere34f8962021-04-15 15:53:51 -050021--- a/tpool/aio_linux.cc
22+++ b/tpool/aio_linux.cc
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050023@@ -58,6 +58,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 - 1301 USA*/
Andrew Geisslere34f8962021-04-15 15:53:51 -050024 */
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);
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050031@@ -67,6 +68,9 @@ static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev)
Andrew Geisslere34f8962021-04-15 15:53:51 -050032 errno= saved_errno;
33 }
34 return ret;
35+#else
36+ return -ENOSYS;
37+#endif
38 }
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050039
Andrew Geisslere34f8962021-04-15 15:53:51 -050040
41--
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500422.29.2
Andrew Geisslere34f8962021-04-15 15:53:51 -050043