package/libkcapi: fix build on riscv32

Fix the following build failure on riscv32:

lib/internal.h:331:20: error: '__NR_io_getevents' undeclared (first use in this function); did you mean 'io_getevents'?
  331 |     return syscall(__NR_io_getevents, ctx, min, max, events, timeout);
      |                    ^~~~~~~~~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/c828d4330a8888fe8db4299dc2f20759947f329f

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Fabrice Fontaine 2021-05-27 22:49:04 +02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 34173da168
commit 5a075b47a8

View File

@ -0,0 +1,42 @@
From 455c4938f5822c017c7ff79dd2dca638b6410923 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 15 Nov 2020 18:05:48 -0800
Subject: [PATCH] Disable use of __NR_io_getevents when not defined
Architectures like riscv32 do not define this syscall, therefore return
ENOSYS on such architectures
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Stephan Mueller <smueller@chronox.de>
[Retrieved from:
https://github.com/smuellerDD/libkcapi/commit/455c4938f5822c017c7ff79dd2dca638b6410923]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
lib/internal.h | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/lib/internal.h b/lib/internal.h
index 1237827..f765461 100644
--- a/lib/internal.h
+++ b/lib/internal.h
@@ -325,10 +325,17 @@ static inline int io_submit(aio_context_t ctx, long n, struct iocb **iocb)
return syscall(__NR_io_submit, ctx, n, iocb);
}
-static inline int io_getevents(aio_context_t ctx, long min, long max,
- struct io_event *events, struct timespec *timeout)
+static inline int io_getevents(__attribute__((unused)) aio_context_t ctx,
+ __attribute__((unused)) long min,
+ __attribute__((unused)) long max,
+ __attribute__((unused)) struct io_event *events,
+ __attribute__((unused)) struct timespec *timeout)
{
+#ifdef __NR_io_getevents
return syscall(__NR_io_getevents, ctx, min, max, events, timeout);
+#else
+ return -ENOSYS;
+#endif
}
/************************************************************