All of lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [PATCH v2] Revert "m4: Remove check for io_set_eventfd"
@ 2022-09-05 19:41 Edward Liaw via ltp
  2022-09-13  6:30 ` Petr Vorel
  0 siblings, 1 reply; 2+ messages in thread
From: Edward Liaw via ltp @ 2022-09-05 19:41 UTC (permalink / raw)
  To: ltp; +Cc: kernel-team

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                             |  9 +++++++++
 testcases/kernel/syscalls/eventfd/eventfd01.c | 17 +++++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/m4/ltp-eventfd.m4 b/m4/ltp-eventfd.m4
index ecd7e951d..1e0ec688a 100644
--- a/m4/ltp-eventfd.m4
+++ b/m4/ltp-eventfd.m4
@@ -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_LINK_IFELSE([AC_LANG_PROGRAM([[#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..c24aa3197 100644
--- a/testcases/kernel/syscalls/eventfd/eventfd01.c
+++ b/testcases/kernel/syscalls/eventfd/eventfd01.c
@@ -473,6 +473,7 @@ static void child_inherit_test(int fd)
 	}
 }
 
+#ifdef HAVE_IO_SET_EVENTFD
 /*
  * Test whether counter overflow is detected and handled correctly.
  *
@@ -648,6 +649,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


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-09-13  6:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-05 19:41 [LTP] [PATCH v2] Revert "m4: Remove check for io_set_eventfd" Edward Liaw via ltp
2022-09-13  6:30 ` Petr Vorel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.