ソースを参照

libkcapi: Fix build on riscv32

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Khem Raj 3 年 前
コミット
7888dcefc6

+ 36 - 0
meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Disable-use-of-__NR_io_getevents-when-not-defined.patch

@@ -0,0 +1,36 @@
+From 771dd6aa45dd0bbbb7d7c7a7b116e1b5666fbd7a 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: Submitted [https://github.com/smuellerDD/libkcapi/pull/100]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/internal.h | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+--- a/lib/internal.h
++++ b/lib/internal.h
+@@ -325,10 +325,17 @@ static inline int io_submit(aio_context_
+     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
+ }
+ 
+ /************************************************************

+ 3 - 1
meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb

@@ -7,7 +7,9 @@ DEPENDS = "libtool"
 
 S = "${WORKDIR}/git"
 SRCREV = "d41284525ec8960e9a828979cfe269012b7df8db"
-SRC_URI = "git://github.com/smuellerDD/libkcapi.git"
+SRC_URI = "git://github.com/smuellerDD/libkcapi.git \
+           file://0001-Disable-use-of-__NR_io_getevents-when-not-defined.patch \
+           "
 
 inherit autotools