From 5421855219bd066a1ecc42b3d3357929a6f1b0c5 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Fri, 4 Dec 2015 16:51:11 +0000 Subject: [PATCH] tests: skip restart_syscall.test on x32 The syscall number of restart_syscall returned by the kernel in case of ERESTART_RESTARTBLOCK is broken on x32 from the beginning, see https://lkml.org/lkml/2015/11/30/790 Until that improves, skip the test on x32. * tests/restart_syscall.c (main) [__x86_64__ && __ILP32__]: Return 77. --- tests/restart_syscall.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/restart_syscall.c b/tests/restart_syscall.c index 645be319..9de8625f 100644 --- a/tests/restart_syscall.c +++ b/tests/restart_syscall.c @@ -38,6 +38,13 @@ int main(void) { +#if defined __x86_64__ && defined __ILP32__ + /* + * x32 is broken from the beginning: + * https://lkml.org/lkml/2015/11/30/790 + */ + return 77; +#else const sigset_t set = {}; const struct sigaction act = { .sa_handler = SIG_IGN }; const struct itimerval itv = { .it_value.tv_usec = 111111 }; @@ -60,7 +67,8 @@ main(void) printf("(nanosleep\\(\\{%jd, %jd\\}, %p|restart_syscall\\(<\\.\\.\\." " resuming interrupted nanosleep \\.\\.\\.>)\\) = 0\n", (intmax_t) req.tv_sec, (intmax_t) req.tv_nsec, &rem); - puts("\\+\\+\\+ exited with 0 \\+\\+\\+"); + puts("\\+\\+\\+ exited with 0 \\+\\+\\+"); return 0; +#endif } -- 2.40.0