[LTP] [PATCH v1] Revert "m4: Remove check for io_set_eventfd"
Edward Liaw
edliaw@google.com
Fri Sep 2 22:45:39 CEST 2022
This reverts commit 5ca0d16d66c42fbfa483c180de4c881de7f182cc.
Android has libaio headers but is missing some functions including
io_set_eventfd. Without these checks it will fail to compile.
Signed-off-by: Edward Liaw <edliaw@google.com>
---
m4/ltp-eventfd.m4 | 11 ++++++++++-
testcases/kernel/syscalls/eventfd/eventfd01.c | 18 +++++++++++++++++-
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/m4/ltp-eventfd.m4 b/m4/ltp-eventfd.m4
index ecd7e951d..5d729a33d 100644
--- a/m4/ltp-eventfd.m4
+++ b/m4/ltp-eventfd.m4
@@ -1,6 +1,6 @@
dnl SPDX-License-Identifier: GPL-2.0-or-later
dnl Copyright (c) Red Hat Inc., 2008
-dnl Copyright (c) 2017-2022 Petr Vorel <pvorel@suse.cz>
+dnl Copyright (c) 2017 Petr Vorel <pvorel@suse.cz>
dnl Author: Masatake YAMATO <yamato@redhat.com>
AC_DEFUN([LTP_CHECK_SYSCALL_EVENTFD], [
@@ -10,5 +10,14 @@ AC_DEFUN([LTP_CHECK_SYSCALL_EVENTFD], [
if test "x$have_libaio" = "xyes" -a "x$have_aio" = "xyes"; then
AC_DEFINE(HAVE_LIBAIO, 1, [Define to 1 if you have libaio and it's headers installed.])
AC_SUBST(AIO_LIBS, "-laio")
+
+ AC_MSG_CHECKING([io_set_eventfd is defined in aio library or aio header])
+ AC_TRY_LINK([#include <stdio.h>
+ #include <libaio.h>
+ ],
+ [io_set_eventfd(NULL, 0); return 0;],
+ [AC_DEFINE(HAVE_IO_SET_EVENTFD, 1, [Define to 1 if you have `io_set_eventfd' function.])
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])
fi
])
diff --git a/testcases/kernel/syscalls/eventfd/eventfd01.c b/testcases/kernel/syscalls/eventfd/eventfd01.c
index 3180ea159..242e170e2 100644
--- a/testcases/kernel/syscalls/eventfd/eventfd01.c
+++ b/testcases/kernel/syscalls/eventfd/eventfd01.c
@@ -1,6 +1,5 @@
/*
* Copyright (c) 2008 Vijay Kumar B. <vijaykumar@bravegnu.org>
- * Copyright (c) Linux Test Project, 2008-2022
*
* Based on testcases/kernel/syscalls/waitpid/waitpid01.c
* Original copyright message:
@@ -473,6 +472,7 @@ static void child_inherit_test(int fd)
}
}
+#ifdef HAVE_IO_SET_EVENTFD
/*
* Test whether counter overflow is detected and handled correctly.
*
@@ -648,6 +648,22 @@ static void overflow_read_test(int evfd)
}
cleanup_overflow(fd, ctx);
}
+#else
+static void overflow_select_test(int evfd)
+{
+ tst_resm(TCONF, "eventfd support is not available in AIO subsystem");
+}
+
+static void overflow_poll_test(int evfd)
+{
+ tst_resm(TCONF, "eventfd support is not available in AIO subsystem");
+}
+
+static void overflow_read_test(int evfd)
+{
+ tst_resm(TCONF, "eventfd support is not available in AIO subsystem");
+}
+#endif
int main(int argc, char **argv)
{
--
2.37.2.789.g6183377224-goog
More information about the ltp
mailing list