Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jul 2021 03:22:35 GMT
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: e3707726c168 - main - kern: remove deprecated makesyscalls.sh
Message-ID:  <202107290322.16T3MZ08050520@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by kevans:

URL: https://cgit.FreeBSD.org/src/commit/?id=e3707726c168eeb0ba06d13873dd71590b77d604

commit e3707726c168eeb0ba06d13873dd71590b77d604
Author:     Kyle Evans <kevans@FreeBSD.org>
AuthorDate: 2021-07-29 03:18:13 +0000
Commit:     Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2021-07-29 03:22:23 +0000

    kern: remove deprecated makesyscalls.sh
    
    makesyscalls was rewritten in Lua and introduced in d3276301ab.  In the
    time since, no objections have risen and a warning was introduced long
    ago on invocation of makesyscalls.sh that it would be removed before
    FreeBSD 13. Belatedly follow through on that.
---
 sys/kern/makesyscalls.sh | 805 -----------------------------------------------
 1 file changed, 805 deletions(-)

diff --git a/sys/kern/makesyscalls.sh b/sys/kern/makesyscalls.sh
deleted file mode 100644
index 8cbd00a69fcd..000000000000
--- a/sys/kern/makesyscalls.sh
+++ /dev/null
@@ -1,805 +0,0 @@
-#! /bin/sh -
-#	@(#)makesyscalls.sh	8.1 (Berkeley) 6/10/93
-# $FreeBSD$
-
-set -e
-
-# name of compat options:
-compat=COMPAT_43
-compat4=COMPAT_FREEBSD4
-compat6=COMPAT_FREEBSD6
-compat7=COMPAT_FREEBSD7
-compat10=COMPAT_FREEBSD10
-compat11=COMPAT_FREEBSD11
-compat12=COMPAT_FREEBSD12
-
-# output files:
-sysnames="syscalls.c"
-sysproto="../sys/sysproto.h"
-sysproto_h=_SYS_SYSPROTO_H_
-syshdr="../sys/syscall.h"
-sysmk="../sys/syscall.mk"
-syssw="init_sysent.c"
-syscallprefix="SYS_"
-switchname="sysent"
-namesname="syscallnames"
-systrace="systrace_args.c"
-
-# tmp files:
-sysaue="sysent.aue.$$"
-sysdcl="sysent.dcl.$$"
-syscompat="sysent.compat.$$"
-syscompatdcl="sysent.compatdcl.$$"
-syscompat4="sysent.compat4.$$"
-syscompat4dcl="sysent.compat4dcl.$$"
-syscompat6="sysent.compat6.$$"
-syscompat6dcl="sysent.compat6dcl.$$"
-syscompat7="sysent.compat7.$$"
-syscompat7dcl="sysent.compat7dcl.$$"
-syscompat10="sysent.compat10.$$"
-syscompat10dcl="sysent.compat10dcl.$$"
-syscompat11="sysent.compat11.$$"
-syscompat11dcl="sysent.compat11dcl.$$"
-syscompat12="sysent.compat12.$$"
-syscompat12dcl="sysent.compat12dcl.$$"
-sysent="sysent.switch.$$"
-sysinc="sysinc.switch.$$"
-sysarg="sysarg.switch.$$"
-sysprotoend="sysprotoend.$$"
-systracetmp="systrace.$$"
-systraceret="systraceret.$$"
-capabilities_conf="capabilities.conf"
-
-trap "rm $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl $syscompat6 $syscompat6dcl $syscompat7 $syscompat7dcl $syscompat10 $syscompat10dcl $syscompat11 $syscompat11dcl $syscompat12 $syscompat12dcl $sysent $sysinc $sysarg $sysprotoend $systracetmp $systraceret" 0
-
-touch $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl $syscompat6 $syscompat6dcl $syscompat7 $syscompat7dcl $syscompat10 $syscompat10dcl $syscompat11 $syscompat11dcl $syscompat12 $syscompat12dcl $sysent $sysinc $sysarg $sysprotoend $systracetmp $systraceret
-
-case $# in
-    0)	echo "usage: $0 input-file <config-file>" 1>&2
-	exit 1
-	;;
-esac
-
-1>&2 echo "$0: This script has been replaced by sys/tools/makesyscalls.lua and"
-1>&2 echo "$0: will be removed before FreeBSD 13.  See also: sys/conf/sysent.mk"
-
-if [ -n "$2" ]; then
-	. "$2"
-fi
-
-if [ -n "$capenabled" ]; then
-	# do nothing
-elif [ -r $capabilities_conf ]; then
-	capenabled=`egrep -v '^#|^$' $capabilities_conf`
-	capenabled=`echo $capenabled | sed 's/ /,/g'`
-else
-	capenabled=""
-fi
-
-sed -e '
-	# FreeBSD ID, includes, comments, and blank lines
-	/.*\$FreeBSD/b done_joining
-	/^[#;]/b done_joining
-	/^$/b done_joining
-
-	# Join lines ending in backslash
-:joining
-	/\\$/{a\
-
-	N
-	s/\\\n//
-	b joining
-	}
-
-	# OBSOL, etc lines without function signatures
-	/^[0-9][^{]*$/b done_joining
-
-	# Join incomplete signatures.  The { must appear on the first line
-	# and the } must appear on the last line (modulo lines joined by
-	# backslashes).
-	/^[^}]*$/{a\
-
-	N
-	s/\n//
-	b joining
-	}
-:done_joining
-2,${
-	/^#/!s/\([{}()*,]\)/ \1 /g
-}
-' < $1 | awk "
-	BEGIN {
-		sysaue = \"$sysaue\"
-		sysdcl = \"$sysdcl\"
-		sysproto = \"$sysproto\"
-		sysprotoend = \"$sysprotoend\"
-		sysproto_h = \"$sysproto_h\"
-		syscompat = \"$syscompat\"
-		syscompatdcl = \"$syscompatdcl\"
-		syscompat4 = \"$syscompat4\"
-		syscompat4dcl = \"$syscompat4dcl\"
-		syscompat6 = \"$syscompat6\"
-		syscompat6dcl = \"$syscompat6dcl\"
-		syscompat7 = \"$syscompat7\"
-		syscompat7dcl = \"$syscompat7dcl\"
-		syscompat10 = \"$syscompat10\"
-		syscompat10dcl = \"$syscompat10dcl\"
-		syscompat11 = \"$syscompat11\"
-		syscompat11dcl = \"$syscompat11dcl\"
-		syscompat12 = \"$syscompat12\"
-		syscompat12dcl = \"$syscompat12dcl\"
-		sysent = \"$sysent\"
-		syssw = \"$syssw\"
-		sysinc = \"$sysinc\"
-		sysarg = \"$sysarg\"
-		sysnames = \"$sysnames\"
-		syshdr = \"$syshdr\"
-		sysmk = \"$sysmk\"
-		systrace = \"$systrace\"
-		systracetmp = \"$systracetmp\"
-		systraceret = \"$systraceret\"
-		compat = \"$compat\"
-		compat4 = \"$compat4\"
-		compat6 = \"$compat6\"
-		compat7 = \"$compat7\"
-		compat10 = \"$compat10\"
-		compat11 = \"$compat11\"
-		compat12 = \"$compat12\"
-		syscallprefix = \"$syscallprefix\"
-		switchname = \"$switchname\"
-		namesname = \"$namesname\"
-		infile = \"$1\"
-		abi_func_prefix = \"$abi_func_prefix\"
-		capenabled_string = \"$capenabled\"
-		"'
-
-		# Avoid a literal generated file tag here.
-		generated = "@" "generated";
-
-		split(capenabled_string, capenabled, ",");
-
-		printf "\n/* The casts are bogus but will do for now. */\n" > sysent
-		printf "struct sysent %s[] = {\n",switchname > sysent
-
-		printf "/*\n * System call switch table.\n *\n" > syssw
-		printf " * DO NOT EDIT-- this file is automatically " generated ".\n" > syssw
-		printf " * $%s$\n", "FreeBSD" > syssw
-		printf " */\n\n" > syssw
-
-		printf "/*\n * System call prototypes.\n *\n" > sysarg
-		printf " * DO NOT EDIT-- this file is automatically " generated ".\n" > sysarg
-		printf " * $%s$\n", "FreeBSD" > sysarg
-		printf " */\n\n" > sysarg
-		printf "#ifndef %s\n", sysproto_h > sysarg
-		printf "#define\t%s\n\n", sysproto_h > sysarg
-		printf "#include <sys/signal.h>\n" > sysarg
-		printf "#include <sys/acl.h>\n" > sysarg
-		printf "#include <sys/cpuset.h>\n" > sysarg
-		printf "#include <sys/domainset.h>\n" > sysarg
-		printf "#include <sys/_ffcounter.h>\n" > sysarg
-		printf "#include <sys/_semaphore.h>\n" > sysarg
-		printf "#include <sys/ucontext.h>\n" > sysarg
-		printf "#include <sys/wait.h>\n\n" > sysarg
-		printf "#include <bsm/audit_kevents.h>\n\n" > sysarg
-		printf "struct proc;\n\n" > sysarg
-		printf "struct thread;\n\n" > sysarg
-		printf "#define\tPAD_(t)\t(sizeof(register_t) <= sizeof(t) ? \\\n" > sysarg
-		printf "\t\t0 : sizeof(register_t) - sizeof(t))\n\n" > sysarg
-		printf "#if BYTE_ORDER == LITTLE_ENDIAN\n"> sysarg
-		printf "#define\tPADL_(t)\t0\n" > sysarg
-		printf "#define\tPADR_(t)\tPAD_(t)\n" > sysarg
-		printf "#else\n" > sysarg
-		printf "#define\tPADL_(t)\tPAD_(t)\n" > sysarg
-		printf "#define\tPADR_(t)\t0\n" > sysarg
-		printf "#endif\n\n" > sysarg
-
-		printf "\n#ifdef %s\n\n", compat > syscompat
-		printf "\n#ifdef %s\n\n", compat4 > syscompat4
-		printf "\n#ifdef %s\n\n", compat6 > syscompat6
-		printf "\n#ifdef %s\n\n", compat7 > syscompat7
-		printf "\n#ifdef %s\n\n", compat10 > syscompat10
-		printf "\n#ifdef %s\n\n", compat11 > syscompat11
-		printf "\n#ifdef %s\n\n", compat12 > syscompat12
-
-		printf "/*\n * System call names.\n *\n" > sysnames
-		printf " * DO NOT EDIT-- this file is automatically " generated ".\n" > sysnames
-		printf " * $%s$\n", "FreeBSD" > sysnames
-		printf " */\n\n" > sysnames
-		printf "const char *%s[] = {\n", namesname > sysnames
-
-		printf "/*\n * System call numbers.\n *\n" > syshdr
-		printf " * DO NOT EDIT-- this file is automatically " generated ".\n" > syshdr
-		printf " * $%s$\n", "FreeBSD" > syshdr
-		printf " */\n\n" > syshdr
-
-		printf "# FreeBSD system call object files.\n" > sysmk
-		printf "# DO NOT EDIT-- this file is automatically " generated ".\n" > sysmk
-		printf "# $%s$\n", "FreeBSD" > sysmk
-		printf "MIASM = " > sysmk
-
-		printf "/*\n * System call argument to DTrace register array converstion.\n *\n" > systrace
-		printf " * DO NOT EDIT-- this file is automatically " generated ".\n" > systrace
-		printf " * $%s$\n", "FreeBSD" > systrace
-		printf " * This file is part of the DTrace syscall provider.\n */\n\n" > systrace
-		printf "static void\nsystrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)\n{\n" > systrace
-		printf "\tint64_t *iarg  = (int64_t *) uarg;\n" > systrace
-		printf "\tswitch (sysnum) {\n" > systrace
-
-		printf "static void\nsystrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)\n{\n\tconst char *p = NULL;\n" > systracetmp
-		printf "\tswitch (sysnum) {\n" > systracetmp
-
-		printf "static void\nsystrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)\n{\n\tconst char *p = NULL;\n" > systraceret
-		printf "\tswitch (sysnum) {\n" > systraceret
-	}
-	NR == 1 {
-		next
-	}
-	NF == 0 || $1 ~ /^;/ {
-		next
-	}
-	$1 ~ /^#[ 	]*include/ {
-		print > sysinc
-		next
-	}
-	$1 ~ /^#[ 	]*if/ {
-		print > sysent
-		print > sysdcl
-		print > sysarg
-		print > syscompat
-		print > syscompat4
-		print > syscompat6
-		print > syscompat7
-		print > syscompat10
-		print > syscompat11
-		print > syscompat12
-		print > sysnames
-		print > systrace
-		print > systracetmp
-		print > systraceret
-		savesyscall = syscall
-		next
-	}
-	$1 ~ /^#[ 	]*else/ {
-		print > sysent
-		print > sysdcl
-		print > sysarg
-		print > syscompat
-		print > syscompat4
-		print > syscompat6
-		print > syscompat7
-		print > syscompat10
-		print > syscompat11
-		print > syscompat12
-		print > sysnames
-		print > systrace
-		print > systracetmp
-		print > systraceret
-		syscall = savesyscall
-		next
-	}
-	$1 ~ /^#/ {
-		print > sysent
-		print > sysdcl
-		print > sysarg
-		print > syscompat
-		print > syscompat4
-		print > syscompat6
-		print > syscompat7
-		print > syscompat10
-		print > syscompat11
-		print > syscompat12
-		print > sysnames
-		print > systrace
-		print > systracetmp
-		print > systraceret
-		next
-	}
-	# Returns true if the type "name" is the first flag in the type field
-	function type(name, flags, n) {
-		n = split($3, flags, /\|/)
-		return (n > 0 && flags[1] == name)
-	}
-	# Returns true if the flag "name" is set in the type field
-	function flag(name, flags, i, n) {
-		n = split($3, flags, /\|/)
-		for (i = 1; i <= n; i++)
-			if (flags[i] == name)
-				return 1
-		return 0
-	}
-	{
-		n = split($1, syscall_range, /-/)
-		if (n == 1) {
-			syscall_range[2] = syscall_range[1]
-		} else if (n == 2) {
-			if (!type("UNIMPL")) {
-				printf "%s: line %d: range permitted only with UNIMPL\n",
-				    infile, NR
-				exit 1
-			}
-		} else {
-			printf "%s: line %d: invalid syscall number or range %s\n",
-			    infile, NR, $1
-			exit 1
-		}
-	}
-	syscall != syscall_range[1] {
-		printf "%s: line %d: syscall number out of sync at %d\n",
-		    infile, NR, syscall
-		printf "line is:\n"
-		print
-		exit 1
-	}
-	function align_sysent_comment(column) {
-		printf("\t") > sysent
-		column = column + 8 - column % 8
-		while (column < 56) {
-			printf("\t") > sysent
-			column = column + 8
-		}
-	}
-	function parserr(was, wanted) {
-		printf "%s: line %d: unexpected %s (expected %s)\n",
-		    infile, NR, was, wanted
-		exit 1
-	}
-	function parseline() {
-		f=4			# toss number, type, audit event
-		ret_inc = 0
-		argc= 0;
-		argssize = "0"
-		thr_flag = "SY_THR_STATIC"
-		if (flag("NOTSTATIC")) {
-			thr_flag = "SY_THR_ABSENT"
-		}
-		if ($NF != "}") {
-			funcalias=$(NF-2)
-			argalias=$(NF-1)
-			rettype=$NF
-			end=NF-3
-		} else {
-			funcalias=""
-			argalias=""
-			rettype="int"
-			if ($(f+2) == "*") {
-				ret_inc = 1
-			}
-			end=NF
-		}
-		if (flag("NODEF")) {
-			auditev="AUE_NULL"
-			funcname=$(4 + ret_inc)
-			argssize = "AS(" $(6 + ret_inc) ")"
-			return
-		}
-		if ($f != "{")
-			parserr($f, "{")
-		f++
-		if ($end != "}")
-			parserr($end, "}")
-		end--
-		if ($end != ";")
-			parserr($end, ";")
-		end--
-		if ($end != ")")
-			parserr($end, ")")
-		end--
-
-		syscallret=$f
-		f++
-		while (ret_inc > 0) {
-			syscallret=syscallret " " $f
-			f++
-			ret_inc--
-		}
-
-		funcname=$f
-
-		#
-		# We now know the func name, so define a flags field for it.
-		# Do this before any other processing as we may return early
-		# from it.
-		#
-		for (cap in capenabled) {
-			if (funcname == capenabled[cap] ||
-			    funcname == abi_func_prefix capenabled[cap]) {
-				flags = "SYF_CAPENABLED";
-				break;
-			}
-		}
-
-		if (funcalias == "")
-			funcalias = funcname
-		if (argalias == "") {
-			argalias = funcname "_args"
-			if (flag("COMPAT"))
-				argalias = "o" argalias
-			if (flag("COMPAT4"))
-				argalias = "freebsd4_" argalias
-			if (flag("COMPAT6"))
-				argalias = "freebsd6_" argalias
-			if (flag("COMPAT7"))
-				argalias = "freebsd7_" argalias
-			if (flag("COMPAT10"))
-				argalias = "freebsd10_" argalias
-			if (flag("COMPAT11"))
-				argalias = "freebsd11_" argalias
-			if (flag("COMPAT12"))
-				argalias = "freebsd12_" argalias
-		}
-		f++
-
-		if ($f != "(")
-			parserr($f, ")")
-		f++
-
-		if (f == end) {
-			if ($f != "void")
-				parserr($f, "argument definition")
-			return
-		}
-
-		while (f <= end) {
-			argc++
-			argtype[argc]=""
-			oldf=""
-			while (f < end && $(f+1) != ",") {
-				if (argtype[argc] != "" && oldf != "*")
-					argtype[argc] = argtype[argc]" ";
-				argtype[argc] = argtype[argc]$f;
-				oldf = $f;
-				f++
-			}
-			if (argtype[argc] == "")
-				parserr($f, "argument definition")
-
-			# The parser adds space around parens.
-			# Remove it from annotations.
-			gsub(/ \( /, "(", argtype[argc]);
-			gsub(/ \)/, ")", argtype[argc]);
-
-			#remove annotations
-			gsub(/_In[^ ]*[_)] /, "", argtype[argc]);
-			gsub(/_Out[^ ]*[_)] /, "", argtype[argc]);
-
-			argname[argc]=$f;
-			f += 2;			# skip name, and any comma
-		}
-		if (argc != 0)
-			argssize = "AS(" argalias ")"
-	}
-	{	comment = $4
-		if (NF < 7)
-			for (i = 5; i <= NF; i++)
-				comment = comment " " $i
-	}
-
-	#
-	# The AUE_ audit event identifier.
-	#
-	{
-		auditev = $2;
-	}
-
-	#
-	# The flags, if any.
-	#
-	{
-		flags = "0";
-	}
-
-	type("STD") || type("NODEF") || type("NOARGS") || type("NOPROTO") \
-	    || type("NOSTD") {
-		parseline()
-		printf("\t/* %s */\n\tcase %d: {\n", funcname, syscall) > systrace
-		printf("\t/* %s */\n\tcase %d:\n", funcname, syscall) > systracetmp
-		printf("\t/* %s */\n\tcase %d:\n", funcname, syscall) > systraceret
-		if (argc > 0) {
-			printf("\t\tswitch(ndx) {\n") > systracetmp
-			printf("\t\tstruct %s *p = params;\n", argalias) > systrace
-			for (i = 1; i <= argc; i++) {
-				arg = argtype[i]
-				sub("__restrict$", "", arg)
-				if (index(arg, "*") > 0)
-					printf("\t\tcase %d:\n\t\t\tp = \"userland %s\";\n\t\t\tbreak;\n", i - 1, arg) > systracetmp
-				else
-					printf("\t\tcase %d:\n\t\t\tp = \"%s\";\n\t\t\tbreak;\n", i - 1, arg) > systracetmp
-				if (index(arg, "*") > 0 || arg == "caddr_t")
-					printf("\t\tuarg[%d] = (intptr_t) p->%s; /* %s */\n", \
-					     i - 1, \
-					     argname[i], arg) > systrace
-				else if (arg == "union l_semun")
-					printf("\t\tuarg[%d] = p->%s.buf; /* %s */\n", \
-					     i - 1, \
-					     argname[i], arg) > systrace
-				else if (substr(arg, 1, 1) == "u" || arg == "size_t")
-					printf("\t\tuarg[%d] = p->%s; /* %s */\n", \
-					     i - 1, \
-					     argname[i], arg) > systrace
-				else
-					printf("\t\tiarg[%d] = p->%s; /* %s */\n", \
-					     i - 1, \
-					     argname[i], arg) > systrace
-			}
-			printf("\t\tdefault:\n\t\t\tbreak;\n\t\t};\n") > systracetmp
-
-			printf("\t\tif (ndx == 0 || ndx == 1)\n") > systraceret
-			printf("\t\t\tp = \"%s\";\n", syscallret) > systraceret
-			printf("\t\tbreak;\n") > systraceret
-		}
-		printf("\t\t*n_args = %d;\n\t\tbreak;\n\t}\n", argc) > systrace
-		printf("\t\tbreak;\n") > systracetmp
-		if (!flag("NOARGS") && !flag("NOPROTO") && !flag("NODEF")) {
-			if (argc != 0) {
-				printf("struct %s {\n", argalias) > sysarg
-				for (i = 1; i <= argc; i++)
-					printf("\tchar %s_l_[PADL_(%s)]; " \
-					    "%s %s; char %s_r_[PADR_(%s)];\n",
-					    argname[i], argtype[i],
-					    argtype[i], argname[i],
-					    argname[i], argtype[i]) > sysarg
-				printf("};\n") > sysarg
-			} else
-				printf("struct %s {\n\tregister_t dummy;\n};\n",
-				    argalias) > sysarg
-		}
-		if (!flag("NOPROTO") && !flag("NODEF")) {
-			if (funcname == "nosys" || funcname == "lkmnosys" ||
-			    funcname == "sysarch" || funcname ~ /^freebsd/ || 
-			    funcname ~ /^linux/ || funcname ~ /^cloudabi/) {
-				printf("%s\t%s(struct thread *, struct %s *)",
-				    rettype, funcname, argalias) > sysdcl
-			} else {
-				printf("%s\tsys_%s(struct thread *, struct %s *)",
-				    rettype, funcname, argalias) > sysdcl
-			} 
-			printf(";\n") > sysdcl
-			printf("#define\t%sAUE_%s\t%s\n", syscallprefix,
-			    funcalias, auditev) > sysaue
-		}
-		printf("\t{ %s, (sy_call_t *)", argssize) > sysent
-		column = 8 + 2 + length(argssize) + 15
-		if (flag("NOSTD")) {
-			printf("lkmressys, AUE_NULL, NULL, 0, 0, %s, SY_THR_ABSENT },", flags) > sysent
-			column = column + length("lkmressys") + length("AUE_NULL") + 3
-		} else {
-			if (funcname == "nosys" || funcname == "sysarch" || 
-			    funcname == "lkmnosys" || funcname ~ /^freebsd/ ||
-			    funcname ~ /^linux/ || funcname ~ /^cloudabi/) {
-				printf("%s, %s, NULL, 0, 0, %s, %s },", funcname, auditev, flags, thr_flag) > sysent
-				column = column + length(funcname) + length(auditev) + length(flags) + 3 
-			} else {
-				printf("sys_%s, %s, NULL, 0, 0, %s, %s },", funcname, auditev, flags, thr_flag) > sysent
-				column = column + length(funcname) + length(auditev) + length(flags) + 3 + 4
-			} 
-		} 
-		align_sysent_comment(column)
-		printf("/* %d = %s */\n", syscall, funcalias) > sysent
-		printf("\t\"%s\",\t\t\t/* %d = %s */\n",
-		    funcalias, syscall, funcalias) > sysnames
-		if (!flag("NODEF")) {
-			printf("#define\t%s%s\t%d\n", syscallprefix,
-		    	    funcalias, syscall) > syshdr
-			printf(" \\\n\t%s.o", funcalias) > sysmk
-		}
-		syscall++
-		next
-	}
-	type("COMPAT") || type("COMPAT4") || type("COMPAT6") || \
-	    type("COMPAT7") || type("COMPAT10") || type("COMPAT11") || \
-	    type("COMPAT12") {
-		if (flag("COMPAT")) {
-			ncompat++
-			out = syscompat
-			outdcl = syscompatdcl
-			wrap = "compat"
-			prefix = "o"
-			descr = "old"
-		} else if (flag("COMPAT4")) {
-			ncompat4++
-			out = syscompat4
-			outdcl = syscompat4dcl
-			wrap = "compat4"
-			prefix = "freebsd4_"
-			descr = "freebsd4"
-		} else if (flag("COMPAT6")) {
-			ncompat6++
-			out = syscompat6
-			outdcl = syscompat6dcl
-			wrap = "compat6"
-			prefix = "freebsd6_"
-			descr = "freebsd6"
-		} else if (flag("COMPAT7")) {
-			ncompat7++
-			out = syscompat7
-			outdcl = syscompat7dcl
-			wrap = "compat7"
-			prefix = "freebsd7_"
-			descr = "freebsd7"
-		} else if (flag("COMPAT10")) {
-			ncompat10++
-			out = syscompat10
-			outdcl = syscompat10dcl
-			wrap = "compat10"
-			prefix = "freebsd10_"
-			descr = "freebsd10"
-		} else if (flag("COMPAT11")) {
-			ncompat11++
-			out = syscompat11
-			outdcl = syscompat11dcl
-			wrap = "compat11"
-			prefix = "freebsd11_"
-			descr = "freebsd11"
-		} else if (flag("COMPAT12")) {
-			ncompat12++
-			out = syscompat12
-			outdcl = syscompat12dcl
-			wrap = "compat12"
-			prefix = "freebsd12_"
-			descr = "freebsd12"
-		}
-		parseline()
-		if (argc != 0 && !flag("NOARGS") && !flag("NOPROTO") && \
-		    !flag("NODEF")) {
-			printf("struct %s {\n", argalias) > out
-			for (i = 1; i <= argc; i++)
-				printf("\tchar %s_l_[PADL_(%s)]; %s %s; " \
-				    "char %s_r_[PADR_(%s)];\n",
-				    argname[i], argtype[i],
-				    argtype[i], argname[i],
-				    argname[i], argtype[i]) > out
-			printf("};\n") > out
-		}
-		else if (!flag("NOARGS") && !flag("NOPROTO") && !flag("NODEF"))
-			printf("struct %s {\n\tregister_t dummy;\n};\n",
-			    argalias) > sysarg
-		if (!flag("NOPROTO") && !flag("NODEF")) {
-			printf("%s\t%s%s(struct thread *, struct %s *);\n",
-			    rettype, prefix, funcname, argalias) > outdcl
-			printf("#define\t%sAUE_%s%s\t%s\n", syscallprefix,
-			    prefix, funcname, auditev) > sysaue
-		}
-		if (flag("NOSTD")) {
-			printf("\t{ %s, (sy_call_t *)%s, %s, NULL, 0, 0, 0, SY_THR_ABSENT },",
-			    "0", "lkmressys", "AUE_NULL") > sysent
-			align_sysent_comment(8 + 2 + length("0") + 15 + \
-			    length("lkmressys") + length("AUE_NULL") + 3)
-		} else {
-			printf("\t{ %s(%s,%s), %s, NULL, 0, 0, %s, %s },",
-			    wrap, argssize, funcname, auditev, flags, thr_flag) > sysent
-			align_sysent_comment(8 + 9 + length(argssize) + 1 + \
-			    length(funcname) + length(auditev) + \
-			    length(flags) + 4)
-		}
-		printf("/* %d = %s %s */\n", syscall, descr, funcalias) > sysent
-		printf("\t\"%s.%s\",\t\t/* %d = %s %s */\n",
-		    wrap, funcalias, syscall, descr, funcalias) > sysnames
-		# Do not provide freebsdN_* symbols in libc for < FreeBSD 7
-		if (flag("COMPAT") || flag("COMPAT4") || flag("COMPAT6")) {
-			printf("\t\t\t\t/* %d is %s %s */\n",
-			    syscall, descr, funcalias) > syshdr
-		} else if (!flag("NODEF")) {
-			printf("#define\t%s%s%s\t%d\n", syscallprefix,
-			    prefix, funcalias, syscall) > syshdr
-			printf(" \\\n\t%s%s.o", prefix, funcalias) > sysmk
-		}
-		syscall++
-		next
-	}
-	type("OBSOL") {
-		printf("\t{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT },") > sysent
-		align_sysent_comment(34)
-		printf("/* %d = obsolete %s */\n", syscall, comment) > sysent
-		printf("\t\"obs_%s\",\t\t\t/* %d = obsolete %s */\n",
-		    $4, syscall, comment) > sysnames
-		printf("\t\t\t\t/* %d is obsolete %s */\n",
-		    syscall, comment) > syshdr
-		syscall++
-		next
-	}
-	type("UNIMPL") {
-		while (syscall <= syscall_range[2]) {
-			printf("\t{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT },\t\t\t/* %d = %s */\n",
-			    syscall, comment) > sysent
-			printf("\t\"#%d\",\t\t\t/* %d = %s */\n",
-			    syscall, syscall, comment) > sysnames
-			syscall++
-		}
-		next
-	}
-	{
-		printf "%s: line %d: unrecognized keyword %s\n", infile, NR, $3
-		exit 1
-	}
-	END {
-		printf "\n#define AS(name) (sizeof(struct name) / sizeof(register_t))\n" > sysinc
-
-		if (ncompat != 0) {
-			printf "\n#ifdef %s\n", compat > sysinc
-			printf "#define compat(n, name) n, (sy_call_t *)__CONCAT(o,name)\n" > sysinc
-			printf "#else\n" > sysinc
-			printf "#define compat(n, name) 0, (sy_call_t *)nosys\n" > sysinc
-			printf "#endif\n" > sysinc
-		}
-
-		if (ncompat4 != 0) {
-			printf "\n#ifdef %s\n", compat4 > sysinc
-			printf "#define compat4(n, name) n, (sy_call_t *)__CONCAT(freebsd4_,name)\n" > sysinc
-			printf "#else\n" > sysinc
-			printf "#define compat4(n, name) 0, (sy_call_t *)nosys\n" > sysinc
-			printf "#endif\n" > sysinc
-		}
-
-		if (ncompat6 != 0) {
-			printf "\n#ifdef %s\n", compat6 > sysinc
-			printf "#define compat6(n, name) n, (sy_call_t *)__CONCAT(freebsd6_,name)\n" > sysinc
-			printf "#else\n" > sysinc
-			printf "#define compat6(n, name) 0, (sy_call_t *)nosys\n" > sysinc
-			printf "#endif\n" > sysinc
-		}
-
-		if (ncompat7 != 0) {
-			printf "\n#ifdef %s\n", compat7 > sysinc
-			printf "#define compat7(n, name) n, (sy_call_t *)__CONCAT(freebsd7_,name)\n" > sysinc
-			printf "#else\n" > sysinc
-			printf "#define compat7(n, name) 0, (sy_call_t *)nosys\n" > sysinc
-			printf "#endif\n" > sysinc
-		}
-		if (ncompat10 != 0) {
-			printf "\n#ifdef %s\n", compat10 > sysinc
-			printf "#define compat10(n, name) n, (sy_call_t *)__CONCAT(freebsd10_,name)\n" > sysinc
-			printf "#else\n" > sysinc
-			printf "#define compat10(n, name) 0, (sy_call_t *)nosys\n" > sysinc
-			printf "#endif\n" > sysinc
-		}
-		if (ncompat11 != 0) {
-			printf "\n#ifdef %s\n", compat11 > sysinc
-			printf "#define compat11(n, name) n, (sy_call_t *)__CONCAT(freebsd11_,name)\n" > sysinc
-			printf "#else\n" > sysinc
-			printf "#define compat11(n, name) 0, (sy_call_t *)nosys\n" > sysinc
-			printf "#endif\n" > sysinc
-		}
-		if (ncompat12 != 0) {
-			printf "\n#ifdef %s\n", compat12 > sysinc
-			printf "#define compat12(n, name) n, (sy_call_t *)__CONCAT(freebsd12_,name)\n" > sysinc
-			printf "#else\n" > sysinc
-			printf "#define compat12(n, name) 0, (sy_call_t *)nosys\n" > sysinc
-			printf "#endif\n" > sysinc
-		}
-
-		printf("\n#endif /* %s */\n\n", compat) > syscompatdcl
-		printf("\n#endif /* %s */\n\n", compat4) > syscompat4dcl
-		printf("\n#endif /* %s */\n\n", compat6) > syscompat6dcl
-		printf("\n#endif /* %s */\n\n", compat7) > syscompat7dcl
-		printf("\n#endif /* %s */\n\n", compat10) > syscompat10dcl
-		printf("\n#endif /* %s */\n\n", compat11) > syscompat11dcl
-		printf("\n#endif /* %s */\n\n", compat12) > syscompat12dcl
-
-		printf("\n#undef PAD_\n") > sysprotoend
-		printf("#undef PADL_\n") > sysprotoend
-		printf("#undef PADR_\n") > sysprotoend
-		printf("\n#endif /* !%s */\n", sysproto_h) > sysprotoend
-
-		printf("\n") > sysmk
-		printf("};\n") > sysent
-		printf("};\n") > sysnames
-		printf("#define\t%sMAXSYSCALL\t%d\n", syscallprefix, syscall) \
-		    > syshdr
-		printf "\tdefault:\n\t\t*n_args = 0;\n\t\tbreak;\n\t};\n}\n" > systrace
-		printf "\tdefault:\n\t\tbreak;\n\t};\n\tif (p != NULL)\n\t\tstrlcpy(desc, p, descsz);\n}\n" > systracetmp
-		printf "\tdefault:\n\t\tbreak;\n\t};\n\tif (p != NULL)\n\t\tstrlcpy(desc, p, descsz);\n}\n" > systraceret
-	} '
-
-cat $sysinc $sysent >> $syssw
-cat $sysarg $sysdcl \
-	$syscompat $syscompatdcl \
-	$syscompat4 $syscompat4dcl \
-	$syscompat6 $syscompat6dcl \
-	$syscompat7 $syscompat7dcl \
-	$syscompat10 $syscompat10dcl \
-	$syscompat11 $syscompat11dcl \
-	$syscompat12 $syscompat12dcl \
-	$sysaue $sysprotoend > $sysproto
-cat $systracetmp >> $systrace
-cat $systraceret >> $systrace
-



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107290322.16T3MZ08050520>