]> granicus.if.org Git - strace/commitdiff
tests: skip restart_syscall.test on x32
authorDmitry V. Levin <ldv@altlinux.org>
Fri, 4 Dec 2015 16:51:11 +0000 (16:51 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Fri, 4 Dec 2015 16:57:23 +0000 (16:57 +0000)
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

index 645be319ef75c739ecde9767c4aed62538c6ed9b..9de8625fb17f9c32850800fb481ee73995ffedb0 100644 (file)
 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
 }