Module Name:    src
Committed By:   christos
Date:           Tue Jun 18 16:24:17 UTC 2019

Modified Files:
        src/sys/kern: makesyscalls.sh

Log Message:
include #ifdefs in the syscalls autoload file and make it standalone.
XXX: This needs to be re-thought


To generate a diff of this commit:
cvs rdiff -u -r1.172 -r1.173 src/sys/kern/makesyscalls.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/makesyscalls.sh
diff -u src/sys/kern/makesyscalls.sh:1.172 src/sys/kern/makesyscalls.sh:1.173
--- src/sys/kern/makesyscalls.sh:1.172	Sun Aug 26 07:53:28 2018
+++ src/sys/kern/makesyscalls.sh	Tue Jun 18 12:24:17 2019
@@ -1,4 +1,4 @@
-#	$NetBSD: makesyscalls.sh,v 1.172 2018/08/26 11:53:28 kre Exp $
+#	$NetBSD: makesyscalls.sh,v 1.173 2019/06/18 16:24:17 christos Exp $
 #
 # Copyright (c) 1994, 1996, 2000 Christopher G. Demetriou
 # All rights reserved.
@@ -94,6 +94,7 @@ esac
 $fail && exit 1
 
 # tmp files:
+sysautoloadbottom="$sysautoload.bottom"
 sysdcl="sysent.dcl"
 sysprotos="sys.protos"
 syscompat_pref="sysent."
@@ -106,7 +107,7 @@ systracetmp="systrace.$$"
 systraceret="systraceret.$$"
 
 cleanup() {
-    rm $sysdcl $sysprotos $sysent $sysnamesbottom $sysnamesfriendly $rumpsysent $rumptypes $rumpprotos $systracetmp $systraceret
+    rm $sysdcl $sysprotos $sysent $sysnamesbottom $sysnamesfriendly $rumpsysent $rumptypes $rumpprotos $systracetmp $systraceret $sysautoloadbottom
 }
 trap "cleanup" 0
 
@@ -162,7 +163,6 @@ BEGIN {
 
 	# to allow nested #if/#else/#endif sets
 	savedepth = 0
-	auto_skip = 0
 	# to track already processed syscalls
 
 	sysnames = \"$sysnames\"
@@ -174,6 +174,7 @@ BEGIN {
 	systracetmp = \"$systracetmp\"
 	systraceret = \"$systraceret\"
 	sysautoload = \"$sysautoload\"
+	sysautoloadbottom = \"${sysautoload}.bottom\"
 	rumpcalls = \"$rumpcalls\"
 	rumpcallshdr = \"$rumpcallshdr\"
 	rumpsysent = \"$rumpsysent\"
@@ -272,9 +273,8 @@ NR == 1 {
 
 	printf " * created from%s\n */\n\n", $0 > sysautoload
 	printf "#include <sys/cdefs.h>\n__KERNEL_RCSID(0, \"%s\");\n\n", tag > sysautoload
-	printf("#include <sys/proc.h>\n")		> sysautoload
 	printf("static struct sc_autoload " emulname \
-		"_syscalls_autoload[] = {\n")		> sysautoload
+		"_syscalls_autoload[] = {\n")		> sysautoloadbottom
 
 	printf " * created from%s\n */\n\n", $0 > rumpcalls
 	printf "#ifdef RUMP_CLIENT\n" > rumpcalls
@@ -418,30 +418,19 @@ $0 ~ /^%%$/ {
 $1 ~ /^#[ 	]*include/ {
 	print > sysdcl
 	print > sysnames
+	print > sysautoload
 	next
 }
 $1 ~ /^#/ && !intable {
 	print > sysdcl
 	print > sysnames
+	print > sysautoload
 	next
 }
 $1 ~ /^#/ && intable {
 	if ($1 ~ /^#[ 	]*if/) {
 		savedepth++
 		savesyscall[savedepth] = syscall
-		skip_auto[savedepth] = auto_skip
-		auto_skip = 0
-
-		# Special handling for sysautoload conditionals
-		#
-		# We ignore all conditions other than those for
-		# !defined(_LP64) which are used for SYSV* syscalls
-		# only
-
-		if ($0 ~ /!defined\(_LP64\)/) {
-			printf("#if !defined(_LP64)\n") > sysautoload
-			auto_skip = savedepth
-		}
 	}
 	if ($1 ~ /^#[ 	]*else/) {
 		if (savedepth <= 0) {
@@ -449,9 +438,6 @@ $1 ~ /^#/ && intable {
 			    infile, NR)
 			exit 1
 		}
-		if (auto_skip == savedepth) {
-			print > sysautoload
-		}
 		syscall = savesyscall[savedepth]
 	}
 	if ($1 ~ /^#[       ]*endif/) {
@@ -460,16 +446,13 @@ $1 ~ /^#/ && intable {
 			    infile, NR)
 			exit 1
 		}
-		if (auto_skip == savedepth) {
-			print > sysautoload
-		}
-		auto_skip = skip_auto[savedepth];
 		savedepth--
 	}
 	print > sysent
 	print > sysarghdr
 	print > sysnumhdr
 	print > sysprotos
+	print > sysautoloadbottom
 	print > sysnamesbottom
 	print > sysnamesfriendly
 	print > systrace
@@ -709,9 +692,9 @@ function printproto(wrap) {
 	    syscall) > sysnumhdr
 
 	# output entry for syscall autoload table, if modular
-	if (modular ) {
+	if (modular) {
 		printf("\t    { %s%s%s, \"%s\" },\n", constprefix, wrap,
-		    funcalias, modname) > sysautoload
+		   funcalias, modname) > sysautoloadbottom
 	}
 
 
@@ -1190,13 +1173,14 @@ END {
 cat $sysprotos >> $sysarghdr
 echo "#endif /* _${constprefix}SYSCALL_H_ */" >> $sysnumhdr
 echo "#endif /* _${constprefix}SYSCALLARGS_H_ */" >> $sysarghdr
-printf "\t    { 0, NULL }\n" >> $sysautoload
-echo "};" >> $sysautoload
+printf "\t    { 0, NULL }\n" >> $sysautoloadbottom
+echo "};" >> $sysautoloadbottom
 printf "\n#endif /* _RUMP_RUMP_SYSCALLS_H_ */\n" >> $rumpprotos
 cat $sysdcl $sysent > $syssw
 cat $sysnamesbottom >> $sysnames
 cat $sysnamesfriendly >> $sysnames
 cat $rumpsysent >> $rumpcalls
+cat $sysautoloadbottom >> $sysautoload
 
 touch $rumptypes
 cat $rumptypes >> $rumpcallshdr

Reply via email to