3 # Check if current architecture are missing any function calls compared
5 # i386 define a number of legacy system calls that are i386 specific
6 # and listed below so they are ignored.
9 # syscallchk gcc gcc-options
14 #include <asm/types.h>
15 #include <asm/unistd.h>
17 /* System calls for 32-bit kernels only */
18 #if BITS_PER_LONG == 64
19 #define __IGNORE_sendfile64
20 #define __IGNORE_ftruncate64
21 #define __IGNORE_truncate64
22 #define __IGNORE_stat64
23 #define __IGNORE_lstat64
24 #define __IGNORE_fstat64
25 #define __IGNORE_fcntl64
26 #define __IGNORE_fadvise64_64
27 #define __IGNORE_fstatat64
28 #define __IGNORE_fstatfs64
29 #define __IGNORE_statfs64
32 /* i386-specific or historical system calls */
33 #define __IGNORE_break
36 #define __IGNORE_ftime
40 #define __IGNORE_ulimit
41 #define __IGNORE_profil
42 #define __IGNORE_ioperm
45 #define __IGNORE_modify_ldt
46 #define __IGNORE_ugetrlimit
47 #define __IGNORE_mmap2
49 #define __IGNORE_vm86old
50 #define __IGNORE_set_thread_area
51 #define __IGNORE_get_thread_area
52 #define __IGNORE_madvise1
53 #define __IGNORE_oldstat
54 #define __IGNORE_oldfstat
55 #define __IGNORE_oldlstat
56 #define __IGNORE_oldolduname
57 #define __IGNORE_olduname
58 #define __IGNORE_umount2
59 #define __IGNORE_umount
60 #define __IGNORE_waitpid
61 #define __IGNORE_stime
63 #define __IGNORE_signal
64 #define __IGNORE_sigaction
65 #define __IGNORE_sgetmask
66 #define __IGNORE_sigsuspend
67 #define __IGNORE_sigpending
68 #define __IGNORE_ssetmask
69 #define __IGNORE_readdir
70 #define __IGNORE_socketcall
72 #define __IGNORE_sigreturn
73 #define __IGNORE_sigprocmask
74 #define __IGNORE_bdflush
75 #define __IGNORE__llseek
76 #define __IGNORE__newselect
77 #define __IGNORE_create_module
78 #define __IGNORE_delete_module
79 #define __IGNORE_query_module
80 #define __IGNORE_get_kernel_syms
81 /* ... including the "new" 32-bit uid syscalls */
82 #define __IGNORE_lchown32
83 #define __IGNORE_getuid32
84 #define __IGNORE_getgid32
85 #define __IGNORE_geteuid32
86 #define __IGNORE_getegid32
87 #define __IGNORE_setreuid32
88 #define __IGNORE_setregid32
89 #define __IGNORE_getgroups32
90 #define __IGNORE_setgroups32
91 #define __IGNORE_fchown32
92 #define __IGNORE_setresuid32
93 #define __IGNORE_getresuid32
94 #define __IGNORE_setresgid32
95 #define __IGNORE_getresgid32
96 #define __IGNORE_chown32
97 #define __IGNORE_setuid32
98 #define __IGNORE_setgid32
99 #define __IGNORE_setfsuid32
100 #define __IGNORE_setfsgid32
102 /* sync_file_range had a stupid ABI. Allow sync_file_range2 instead */
103 #ifdef __NR_sync_file_range2
104 #define __IGNORE_sync_file_range
107 /* Unmerged syscalls for AFS, STREAMS, etc. */
108 #define __IGNORE_afs_syscall
109 #define __IGNORE_getpmsg
110 #define __IGNORE_putpmsg
111 #define __IGNORE_vserver
116 sed -n -e '/^\#define/ s/[^_]*__NR_\([^[:space:]]*\).*/\
117 \#if !defined \(__NR_\1\) \&\& !defined \(__IGNORE_\1\)\
118 \#warning syscall \1 not implemented\
122 (ignore_list
&& syscall_list
${srctree}/arch
/x86
/include
/asm
/unistd_32.h
) | \
123 $
* -E -x c
- > /dev
/null