2 * Copyright (c) 2015-2018 Dmitry V. Levin <ldv@altlinux.org>
5 * SPDX-License-Identifier: GPL-2.0-or-later
9 #include <asm/unistd.h>
11 #if defined __NR_select && defined __NR__newselect \
12 && __NR_select != __NR__newselect \
19 # include <sys/select.h>
21 static const char *errstr;
24 xselect(const kernel_ulong_t args)
26 static const kernel_ulong_t dummy = F8ILL_KULONG_MASK | 0xfacefeed;
27 long rc = syscall(__NR_select, args, dummy, dummy, dummy, dummy, dummy);
28 errstr = sprintrc(rc);
35 unsigned long *const args = tail_alloc(sizeof(*args) * 4);
36 memset(args, 0, sizeof(*args) * 4);
39 #ifndef PATH_TRACING_FD
40 printf("select(NULL) = %s\n", errstr);
43 xselect((uintptr_t) args);
44 #ifndef PATH_TRACING_FD
45 printf("select(%p) = %s\n", args, errstr);
48 puts("+++ exited with 0 +++");
54 SKIP_MAIN_UNDEFINED("__NR_select && __NR__newselect"
55 " && __NR_select != __NR__newselect"
56 " && !defined __sparc__")