summaryrefslogtreecommitdiffstats
path: root/linux/syscalls.mk
diff options
context:
space:
mode:
Diffstat (limited to 'linux/syscalls.mk')
-rw-r--r--linux/syscalls.mk450
1 files changed, 450 insertions, 0 deletions
diff --git a/linux/syscalls.mk b/linux/syscalls.mk
new file mode 100644
index 0000000..7c13441
--- /dev/null
+++ b/linux/syscalls.mk
@@ -0,0 +1,450 @@
+LINUX_SYSCALL_DIR = linux-src/syscalls-$(LINUX_VERSION)
+
+LINUX_SYSCALLS_ARCH_TBL_SPLIT_X64 != printf '$(LINUX_SYSCALL_DIR)/%s.tbl\n' amd64 x86
+LINUX_SYSCALLS_ARCH_TBL_SPLIT_MIPS != printf '$(LINUX_SYSCALL_DIR)/%s.tbl\n' mips-n32 mips-o32 mips-n64
+
+LINUX_SYSCALLS_ARCHES_SPLIT != grep '^LINUX_SYSCALLS_ARCH_TBL_SPLIT_' < linux/syscalls.mk | cut -d \% -f 2 | cut -d ' ' -f 2-
+LINUX_SYSCALLS_ARCHES_SIMPLE != (sed -n 's/^generated\/linux-syscalls-\([a-zA-Z0-9_-]\+\)\.h\s*:.*$$/\1/p' && \
+ printf '%s\n' $(LINUX_SYSCALLS_ARCHES_SPLIT)) < linux/syscalls.mk | sort | uniq -u
+LINUX_SYSCALLS_ARCHES = $(LINUX_SYSCALLS_ARCHES_SIMPLE) $(LINUX_SYSCALLS_ARCHES_SPLIT)
+LINUX_SYSCALLS_ARCH_HDR != printf 'generated/linux-syscalls-%s.h\n' $(LINUX_SYSCALLS_ARCHES)
+LINUX_SYSCALLS_ARCH_TBL_SIMPLE != printf '$(LINUX_SYSCALL_DIR)/%s.tbl\n' $(LINUX_SYSCALLS_ARCHES_SIMPLE)
+LINUX_SYSCALLS_ARCH_TBL_SPLIT != printf '$(LINUX_SYSCALL_DIR)/%s.tbl\n' $(LINUX_SYSCALLS_ARCHES_SPLIT)
+LINUX_SYSCALLS_ARCH_TBL = $(LINUX_SYSCALLS_ARCH_TBL_SIMPLE) $(LINUX_SYSCALLS_ARCH_TBL_SPLIT)
+
+LINUX_SYSCALLS_HDR =\
+ generated/linux-syscalls.h\
+ generated/linux-syscall-ranges.h\
+ $(LINUX_SYSCALLS_ARCH_HDR)
+
+
+generated/linux-syscalls-alpha.h: $(LINUX_SYSCALL_DIR)/alpha.tbl linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_ALPHA(X, _X_COMPAT, D)\\\n' > $@
+ printf '%i common %s %s\n' \
+ 320 idle sys_idle \
+ | cat -- $(LINUX_SYSCALL_DIR)/alpha.tbl - \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\"}' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/alpha.tbl | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/alpha.tbl | awk '{ print $$2 }' | grep '^common$$')"
+
+
+$(LINUX_SYSCALL_DIR)/amd64.tbl.fixed: $(LINUX_SYSCALL_DIR)/amd64.tbl linux/syscalls.mk
+ cat -- $(LINUX_SYSCALL_DIR)/amd64.tbl \
+ | sed 's/\s\+\(getpmsg\|putpmsg\|afs_syscall\|tuxcall\|security\|vserver\)\s*$$/& sys_ni_syscall/' \
+ | sed 's/^\s*[0-9]\+\s\+[a-z0-9]\+\s\+\([A-Za-z0-9_]\+\)\s*$$/& sys_\1/' \
+ > $@
+
+generated/linux-syscalls-amd64.h: $(LINUX_SYSCALL_DIR)/amd64.tbl.fixed linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_AMD64(X, _X_COMPAT, D)\\\n' > $@
+ cat -- $(LINUX_SYSCALL_DIR)/amd64.tbl.fixed \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|64\)$$/\\/p' \
+ | sed '$$s/ D\\$$//' >> $@
+ printf '\n\43define LIST_LINUX_SYSCALLS_FOR_AMD64_X32(X, _X_COMPAT, D)\\\n' >> $@
+ cat -- $(LINUX_SYSCALL_DIR)/amd64.tbl.fixed \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|x32\)$$/\\/p' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/amd64.tbl.fixed | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/amd64.tbl.fixed | awk '{ print $$2 }' | \
+ grep '^\(common\|64\|x32\)$$')"
+
+
+$(LINUX_SYSCALL_DIR)/arm.tbl.fixed: $(LINUX_SYSCALL_DIR)/arm.tbl linux/syscalls.mk
+ printf '%i common %s %s\n' \
+ 7 waitpid sys_waitpid \
+ 17 break sys_break \
+ 18 old_stat sys_stat \
+ 28 old_fstat sys_fstat \
+ 31 stty sys_stty \
+ 32 gtty sys_gtty \
+ 35 ftime sys_ftime \
+ 44 prof sys_prof \
+ 48 signal sys_signal \
+ 53 lock sys_lock \
+ 56 mpx sys_mpx \
+ 58 ulimit sys_ulimit \
+ 59 oldolduname sys_olduname \
+ 68 sgetmask sys_sgetmask \
+ 69 ssetmask sys_ssetmask \
+ 84 old_lstat sys_lstat \
+ 98 profil sys_profil \
+ 101 ioperm sys_ioperm \
+ 109 olduname sys_uname \
+ 110 iopl sys_iopl \
+ 112 idle sys_idle \
+ 123 modify_ldt sys_modify_ldt \
+ 127 create_module sys_create_module \
+ 130 get_kernel_syms sys_get_kernel_syms \
+ 137 afs_syscall sys_afs_syscall \
+ 166 vm86 sys_vm86 \
+ 167 query_module sys_query_module \
+ | cat -- $(LINUX_SYSCALL_DIR)/arm.tbl - \
+ | sed 's/\svserver\s*$$/& sys_ni_syscall/' \
+ | sed 's/\snfsservctl\s*$$/& sys_nfsservctl/' \
+ > $@
+
+generated/linux-syscalls-arm.h: $(LINUX_SYSCALL_DIR)/arm.tbl.fixed linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_ARM_EABI(X, _X_COMPAT, D)\\\n' > $@
+ cat -- $(LINUX_SYSCALL_DIR)/arm.tbl.fixed \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|eabi\)$$/\\/p' \
+ | sed '$$s/ D\\$$//' >> $@
+ printf '\n\43define LIST_LINUX_SYSCALLS_FOR_ARM_OABI(X, X_COMPAT, D)\\\n' >> $@
+ cat -- $(LINUX_SYSCALL_DIR)/arm.tbl.fixed \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX_COMPAT(" $$1 ", " $$3 ", " $$4 ", " $$5 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|oabi\)$$/\\/p' \
+ | sed 's/X_COMPAT(\(.*\), ) D\\$$/X(\1) D\\/' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/arm.tbl.fixed | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/arm.tbl.fixed | awk '{ print $$2 }' | \
+ grep '^\(common\|oabi\|eabi\)$$')"
+
+
+generated/linux-syscalls-ia64.h: $(LINUX_SYSCALL_DIR)/ia64.tbl linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_IA64(X, _X_COMPAT, D)\\\n' > $@
+ printf '%i common %s %s\n' \
+ $$(( 1120 - 1024 )) old_stat sys_stat \
+ $$(( 1121 - 1024 )) old_lstat sys_lstat \
+ $$(( 1122 - 1024 )) old_fstat sys_fstat \
+ $$(( 1132 - 1024 )) create_module sys_create_module \
+ $$(( 1135 - 1024 )) get_kernel_syms sys_get_kernel_syms \
+ $$(( 1136 - 1024 )) query_module sys_query_module \
+ | cat -- $(LINUX_SYSCALL_DIR)/ia64.tbl - \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX((" $$1 " + 1024), " $$3 ", " $$4 ") D\\"}' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/ia64.tbl | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/ia64.tbl | awk '{ print $$2 }' | grep '^common$$')"
+
+
+generated/linux-syscalls-m68k.h: $(LINUX_SYSCALL_DIR)/m68k.tbl linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_M68K(X, _X_COMPAT, D)\\\n' > $@
+ printf '%i common %s %s\n' \
+ 17 break sys_ni_syscall \
+ 31 stty sys_ni_syscall \
+ 32 gtty sys_ni_syscall \
+ 35 ftime sys_ni_syscall \
+ 44 prof sys_ni_syscall \
+ 53 lock sys_ni_syscall \
+ 56 mpx sys_ni_syscall \
+ 58 ulimit sys_ni_syscall \
+ 59 oldolduname sys_olduname \
+ 98 profil sys_ni_syscall \
+ 101 ioperm sys_ioperm \
+ 109 olduname sys_uname \
+ 110 iopl sys_iopl \
+ 112 idle sys_idle \
+ 113 vm86 sys_vm86 \
+ 137 afs_syscall sys_ni_syscall \
+ 278 vserver sys_ni_syscall \
+ | cat -- $(LINUX_SYSCALL_DIR)/m68k.tbl - \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\"}' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/m68k.tbl | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/m68k.tbl | awk '{ print $$2 }' | grep '^common$$')"
+
+
+generated/linux-syscalls-microblaze.h: $(LINUX_SYSCALL_DIR)/microblaze.tbl linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_MICROBLAZE(X, _X_COMPAT, D)\\\n' > $@
+ printf '%i common %s %s\n' \
+ 251 set_zone_reclaim sys_set_zone_reclaim \
+ 285 setaltroot sys_setaltroot \
+ | cat -- $(LINUX_SYSCALL_DIR)/microblaze.tbl - \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\"}' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/microblaze.tbl | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/microblaze.tbl | awk '{ print $$2 }' | grep '^common$$')"
+
+
+generated/linux-syscalls-mips-n32.h: $(LINUX_SYSCALL_DIR)/mips-n32.tbl linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_MIPS_N32(X, _X_COMPAT, D)\\\n' > $@
+ printf '%i common %s %s\n' \
+ 242 setaltroot sys_setaltroot \
+ | cat -- $(LINUX_SYSCALL_DIR)/mips-n32.tbl - \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\"}' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/mips-n32.tbl | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/mips-n32.tbl | awk '{ print $$2 }' | grep '^n32$$')"
+
+
+generated/linux-syscalls-mips-n64.h: $(LINUX_SYSCALL_DIR)/mips-n64.tbl linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_MIPS_N64(X, _X_COMPAT, D)\\\n' > $@
+ printf '%i common %s %s\n' \
+ 238 setaltroot sys_setaltroot \
+ | cat -- $(LINUX_SYSCALL_DIR)/mips-n64.tbl - \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\"}' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/mips-n64.tbl | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/mips-n64.tbl | awk '{ print $$2 }' | \
+ grep '^\(n64\|common\)$$')"
+
+
+generated/linux-syscalls-mips-o32.h: $(LINUX_SYSCALL_DIR)/mips-o32.tbl linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_MIPS_O32(X, X_COMPAT, D)\\\n' > $@
+ printf '%i common %s %s\n' \
+ 18 old_stat sys_stat \
+ 28 old_fstat sys_fstat \
+ 82 select sys_old_select \
+ 84 old_lstat sys_lstat \
+ 279 setaltroot sys_setaltroot \
+ | cat -- $(LINUX_SYSCALL_DIR)/mips-o32.tbl - \
+ | sed '/^\s*\(18\|28\|82\|84\)\s\+o32.*$$/d' \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX_COMPAT(" $$1 ", " $$3 ", " $$4 ", " $$5 ") D\\"}' \
+ | sed 's/X_COMPAT(\(.*\), ) D\\$$/X(\1) D\\/' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/mips-o32.tbl | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/mips-o32.tbl | awk '{ print $$2 }' | grep '^o32$$')"
+
+
+$(LINUX_SYSCALL_DIR)/parisc.tbl.fixed: $(LINUX_SYSCALL_DIR)/parisc.tbl linux/syscalls.mk
+ printf '%i common %s %s\n' \
+ 102 socketcall sys_socketcall \
+ 127 create_module sys_create_module \
+ 130 get_kernel_syms sys_get_kernel_syms \
+ 137 afs_syscall sys_ni_syscall \
+ 167 query_module sys_query_module \
+ 169 nfsservctl sys_nfsservctl \
+ 196 getpmsg sys_ni_syscall \
+ 197 putpmsg sys_ni_syscall \
+ 203 attrctl sys_attrctl \
+ 204 acl_get sys_acl_get \
+ 205 acl_set sys_acl_set \
+ 213 set_thread_area sys_set_thread_area \
+ 214 get_thread_area sys_get_thread_area \
+ 220 alloc_hugepages sys_alloc_hugepages \
+ 221 free_hugepages sys_free_hugepages \
+ 263 vserver sys_ni_syscall \
+ 303 timerfd sys_timerfd \
+ | cat -- $(LINUX_SYSCALL_DIR)/parisc.tbl - > $@
+
+generated/linux-syscalls-parisc.h: $(LINUX_SYSCALL_DIR)/parisc.tbl.fixed linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_PARISC_64(X, _X_COMPAT, D)\\\n' > $@
+ cat -- $(LINUX_SYSCALL_DIR)/parisc.tbl.fixed \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|64\)$$/\\/p' \
+ | sed '$$s/ D\\$$//' >> $@
+ printf '\n\43define LIST_LINUX_SYSCALLS_FOR_PARISC_32(X, X_COMPAT, D)\\\n' >> $@
+ cat -- $(LINUX_SYSCALL_DIR)/parisc.tbl.fixed \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX_COMPAT(" $$1 ", " $$3 ", " $$4 ", " $$5 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|32\)$$/\\/p' \
+ | sed 's/X_COMPAT(\(.*\), ) D\\$$/X(\1) D\\/' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/parisc.tbl.fixed | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/parisc.tbl.fixed | awk '{ print $$2 }' | \
+ grep '^\(common\|64\|32\)$$')"
+
+
+generated/linux-syscalls-powerpc.h: $(LINUX_SYSCALL_DIR)/powerpc.tbl linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_POWERPC_32(X, X_COMPAT, D)\\\n' > $@
+ cat -- $(LINUX_SYSCALL_DIR)/powerpc.tbl \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX_COMPAT(" $$1 ", " $$3 ", " $$4 ", " $$5 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|32\)$$/\\/p' \
+ | sed 's/X_COMPAT(\(.*\), ) D\\$$/X(\1) D\\/' \
+ | sed '$$s/ D\\$$//' >> $@
+ printf '\n\43define LIST_LINUX_SYSCALLS_FOR_POWERPC_NOSPU(X, X_COMPAT, D)\\\n' >> $@
+ cat -- $(LINUX_SYSCALL_DIR)/powerpc.tbl \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX_COMPAT(" $$1 ", " $$3 ", " $$4 ", " $$5 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|nospu\)$$/\\/p' \
+ | sed 's/X_COMPAT(\(.*\), ) D\\$$/X(\1) D\\/' \
+ | sed '$$s/ D\\$$//' >> $@
+ printf '\n\43define LIST_LINUX_SYSCALLS_FOR_POWERPC_64(X, _X_COMPAT, D)\\\n' >> $@
+ cat -- $(LINUX_SYSCALL_DIR)/powerpc.tbl \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|64\)$$/\\/p' \
+ | sed '$$s/ D\\$$//' >> $@
+ printf '\n\43define LIST_LINUX_SYSCALLS_FOR_POWERPC_SPU(X, _X_COMPAT, D)\\\n' >> $@
+ cat -- $(LINUX_SYSCALL_DIR)/powerpc.tbl \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|spu\)$$/\\/p' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/powerpc.tbl | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/powerpc.tbl | awk '{ print $$2 }' | \
+ grep '^\(common\|spu\|nospu\|64\|32\)$$')"
+
+
+generated/linux-syscalls-s390.h: $(LINUX_SYSCALL_DIR)/s390.tbl linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_S390_32(X, _X_COMPAT, D)\\\n' > $@
+ cat -- $(LINUX_SYSCALL_DIR)/s390.tbl \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | sed 's/^\s*\([0-9]\+\)\s\+\([A-Za-z0-9_]\+\)\s\+\([A-Za-z0-9_]\+\)\s\+-\s\+-\s*$$/\1 \2 \3 sys_\3 sys_\3/' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$5 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|32\)$$/\\/p' \
+ | sed '$$s/ D\\$$//' >> $@
+ printf '\n\43define LIST_LINUX_SYSCALLS_FOR_S390_64(X, _X_COMPAT, D)\\\n' >> $@
+ cat -- $(LINUX_SYSCALL_DIR)/s390.tbl \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | sed 's/^\s*\([0-9]\+\)\s\+\([A-Za-z0-9_]\+\)\s\+\([A-Za-z0-9_]\+\)\s\+-\s\+-\s*$$/\1 \2 \3 sys_\3 sys_\3/' \
+ | sed 's/^\s*\(89\)\s\+\(common\)\s\+\(readdir\)\s\+-\s\+/\1 \2 \3 sys_old_readdir /' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|64\)$$/\\/p' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/s390.tbl | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/s390.tbl | awk '{ print $$2 }' | \
+ grep '^\(common\|32\|64\)$$')"
+
+
+generated/linux-syscalls-sh.h: $(LINUX_SYSCALL_DIR)/sh.tbl linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_SH(X, _X_COMPAT, D)\\\n' > $@
+ printf '%i common %s %s\n' \
+ 17 break sys_ni_syscall \
+ 31 stty sys_ni_syscall \
+ 32 gtty sys_ni_syscall \
+ 35 ftime sys_ni_syscall \
+ 44 prof sys_ni_syscall \
+ 53 lock sys_ni_syscall \
+ 56 mpx sys_ni_syscall \
+ 58 ulimit sys_ni_syscall \
+ 59 oldolduname sys_olduname \
+ 82 select sys_old_select \
+ 98 profil sys_ni_syscall \
+ 101 ioperm sys_ioperm \
+ 110 iopl sys_iopl \
+ 112 idle sys_idle \
+ 113 vm86old sys_vm86old \
+ 127 create_module sys_create_module \
+ 130 get_kernel_syms sys_get_kernel_syms \
+ 137 afs_syscall sys_ni_syscall \
+ 166 vm86 sys_vm86 \
+ 167 query_module sys_query_module \
+ | cat -- $(LINUX_SYSCALL_DIR)/sh.tbl - \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\"}' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/sh.tbl | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/sh.tbl | awk '{ print $$2 }' | grep '^common$$')"
+
+
+generated/linux-syscalls-sparc.h: $(LINUX_SYSCALL_DIR)/sparc.tbl linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_SPARC_32(X, X_COMPAT, D)\\\n' > $@
+ printf '%i common %s %s\n' \
+ 267 vserver sys_vserver \
+ | cat -- $(LINUX_SYSCALL_DIR)/sparc.tbl - \
+ | sed 's/compat_sys_\(truncate64\|ftruncate64\)/sparc___&/g' \
+ | sed '/^\s*267\s\+common\s\+vserver\s\+.*$$/d' \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX_COMPAT(" $$1 ", " $$3 ", " $$4 ", " $$5 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|32\)$$/\\/p' \
+ | sed 's/X_COMPAT(\(.*\), ) D\\$$/X(\1) D\\/' \
+ | sed '$$s/ D\\$$//' >> $@
+ printf '\n\43define LIST_LINUX_SYSCALLS_FOR_SPARC_64(X, _X_COMPAT, D)\\\n' >> $@
+ printf '%i common %s %s\n' \
+ 267 vserver sys_vserver \
+ | cat -- $(LINUX_SYSCALL_DIR)/sparc.tbl - \
+ | sed '/^\s*267\s\+common\s\+vserver\s\+.*$$/d' \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\" $$2}' \
+ | sed -n 's/\\\(common\|64\)$$/\\/p' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/sparc.tbl | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/sparc.tbl | awk '{ print $$2 }' | \
+ grep '^\(common\|32\|64\)$$')"
+
+
+generated/linux-syscalls-x86.h: $(LINUX_SYSCALL_DIR)/x86.tbl linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_I386(X, X_COMPAT, D)\\\n' > $@
+ printf '%i common %s %s\n' \
+ 251 set_zone_reclaim sys_set_zone_reclaim \
+ 285 setaltroot sys_setaltroot \
+ | cat -- $(LINUX_SYSCALL_DIR)/x86.tbl - \
+ | sed 's/\s\+\(break\|stty\|gtty\|ftime\|prof\|lock\|mpx\|ulimit\|profil\|idle\|afs_syscall\|getpmsg\|putpmsg\|vserver\)\s*$$/& sys_ni_syscall/' \
+ | sed 's/^\s*[0-9]\+\s\+[a-z0-9]\+\s\+\([A-Za-z0-9_]\+\)\s*$$/& sys_\1/' \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX_COMPAT(" $$1 ", " $$3 ", " $$4 ", " $$5 ") D\\"}' \
+ | sed 's/X_COMPAT(\(.*\), ) D\\$$/X(\1) D\\/' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/x86.tbl | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/x86.tbl | awk '{ print $$2 }' | grep '^i386$$')"
+
+
+generated/linux-syscalls-xtensa.h: $(LINUX_SYSCALL_DIR)/xtensa.tbl linux/syscalls.mk
+ mkdir -p -- generated
+ printf '\43define LIST_LINUX_SYSCALLS_FOR_XTENSA(X, _X_COMPAT, D)\\\n' > $@
+ printf '%i common %s %s\n' \
+ 305 timerfd sys_timerfd \
+ | cat -- $(LINUX_SYSCALL_DIR)/xtensa.tbl - \
+ | sed 's/reserved152\s\+sys_ni_syscall/set_thread_area sys_set_thread_area/' \
+ | sed 's/reserved153\s\+sys_ni_syscall/get_thread_area sys_get_thread_area/' \
+ | sed 's/nfsservctl\s\+sys_ni_syscall/nfsservctl sys_nfsservctl/' \
+ | sed '/^\s*\(\x23.*\)\?$$/d' \
+ | awk '{ print "\tX(" $$1 ", " $$3 ", " $$4 ") D\\"}' \
+ | sed '$$s/ D\\$$//' >> $@
+ test "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/xtensa.tbl | awk '{ print $$2 }')" = \
+ "$$(sed '/^\s*\(\x23.*\)\?$$/d' < $(LINUX_SYSCALL_DIR)/xtensa.tbl | awk '{ print $$2 }' | grep '^common$$')"
+
+
+$(LINUX_SYSCALLS_ARCH_TBL_SIMPLE): $(LINUX_SOURCE) linux/syscalls.mk
+ mkdir -p -- $(LINUX_SYSCALL_DIR)
+ arch="$$(printf '%s\n' "$(@F)" | cut -d . -f 1)"; \
+ if test "$$arch" = arm; then \
+ printf '%s\n' "ln -sf -- ../tools $(LINUX_DIR)/arch/$$arch/kernel/syscalls" && \
+ ln -sf -- ../tools $(LINUX_DIR)/arch/$$arch/kernel/syscalls || exit 1; \
+ fi && \
+ printf '%s\n' "cp -- $(LINUX_DIR)/arch/$$arch/kernel/syscalls/syscall.tbl $@" && \
+ cp -- $(LINUX_DIR)/arch/$$arch/kernel/syscalls/syscall.tbl $@
+
+$(LINUX_SYSCALLS_ARCH_TBL_SPLIT_X64): $(LINUX_SOURCE) linux/syscalls.mk
+ mkdir -p -- $(LINUX_SYSCALL_DIR)
+ test -e $(LINUX_DIR)/arch/x86/kernel/syscalls || \
+ ln -sf -- ../entry/syscalls $(LINUX_DIR)/arch/x86/kernel/syscalls
+ cp -- $(LINUX_DIR)/arch/x86/kernel/syscalls/syscall_32.tbl $(LINUX_SYSCALL_DIR)/x86.tbl
+ cp -- $(LINUX_DIR)/arch/x86/kernel/syscalls/syscall_64.tbl $(LINUX_SYSCALL_DIR)/amd64.tbl
+
+$(LINUX_SYSCALLS_ARCH_TBL_SPLIT_MIPS): $(LINUX_SOURCE) linux/syscalls.mk
+ mkdir -p -- $(LINUX_SYSCALL_DIR)
+ cp -- $(LINUX_DIR)/arch/mips/kernel/syscalls/syscall_n32.tbl $(LINUX_SYSCALL_DIR)/mips-n32.tbl
+ cp -- $(LINUX_DIR)/arch/mips/kernel/syscalls/syscall_o32.tbl $(LINUX_SYSCALL_DIR)/mips-o32.tbl
+ cp -- $(LINUX_DIR)/arch/mips/kernel/syscalls/syscall_n64.tbl $(LINUX_SYSCALL_DIR)/mips-n64.tbl
+
+
+generated/linux-syscall-dedup.h: $(HDR) $(LINUX_SYSCALLS_HDR) linux/syscalls.h linux/syscall-table.c linux/syscalls.mk
+ mkdir -p -- generated
+ cpp -DCREATING_DEDUP_TABLE linux/syscall-table.c \
+ | grep -v '^#' \
+ | tr '\n;\t' ' \n ' \
+ | sed -n 's/^.* libsyscalls_syscall \+\(linux_[A-Z0-9a-z_]\+_syscall_[A-Z0-9a-z_]\+.*\)$$/\1/p' \
+ | tr -d ' ' \
+ | sed 's/=/ /' \
+ | sort -k 2 \
+ | (set -e; master=; mastertext=; \
+ while read slave slavetext; do \
+ if test "$$slavetext" = "$$mastertext"; then \
+ printf '#define %s %s\n' "$$slave" "$$master"; \
+ else \
+ master="$$slave"; \
+ mastertext="$$slavetext"; \
+ fi; \
+ done \
+ ) > $@