summaryrefslogtreecommitdiffstats
path: root/sys/kern/makesyscalls.sh
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2001-10-07 00:16:31 +0000
committermarcel <marcel@FreeBSD.org>2001-10-07 00:16:31 +0000
commit36b166d5a03f91501ad718e3337179223ae8df40 (patch)
treec076f201c383ecb0fc934b7f0b5f50cf60eebd10 /sys/kern/makesyscalls.sh
parentd45f75145fcc859cfaeea928dae298d1af56ed3a (diff)
downloadFreeBSD-src-36b166d5a03f91501ad718e3337179223ae8df40.zip
FreeBSD-src-36b166d5a03f91501ad718e3337179223ae8df40.tar.gz
Fix breakage caused by previous commit. The lkmnosys and lkmressys
syscalls are of type NODEF but not in a way that fits the given definition of that type. The exact difference of lkmressys and lkmnosys is unclear, which makes it all the more confusing. A reevaluation of what we have and what we really need is in order. Spotted by: Maxime Henrion <mux@qualys.com> Pointy hat: marcel
Diffstat (limited to 'sys/kern/makesyscalls.sh')
-rw-r--r--sys/kern/makesyscalls.sh13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/kern/makesyscalls.sh b/sys/kern/makesyscalls.sh
index 63b701b..069314d 100644
--- a/sys/kern/makesyscalls.sh
+++ b/sys/kern/makesyscalls.sh
@@ -208,7 +208,7 @@ s/\$//g
}
if ($2 == "NODEF") {
funcname=$4
- argssize = "AS(" $4 "_args)"
+ argssize = "AS(" $6 ")"
return
}
if ($f != "{")
@@ -316,12 +316,15 @@ s/\$//g
argname[i], argtype[i]) > sysarg
printf("};\n") > sysarg
}
- else if($2 != "NOARGS" && $2 != "NOPROTO")
+ else if ($2 != "NOARGS" && $2 != "NOPROTO" && \
+ $2 != "NODEF")
printf("struct %s {\n\tregister_t dummy;\n};\n",
argalias) > sysarg
}
- if ($2 != "NOPROTO" && (!nosys || funcname != "nosys") && \
- (!lkmnosys || funcname != "lkmnosys") && $2 != "NODEF") {
+ if (($2 != "NOPROTO" && $2 != "NODEF" && \
+ (funcname != "nosys" || !nosys)) || \
+ (funcname == "lkmnosys" && !lkmnosys) || \
+ funcname == "lkmressys") {
printf("%s\t%s __P((struct thread *, struct %s *))",
rettype, funcname, argalias) > sysdcl
printf(";\n") > sysdcl
@@ -337,7 +340,7 @@ s/\$//g
column = column + length("nosys") + 3
} else if ($2 == "NOSTD") {
printf("%s },", "lkmressys") > sysent
- column = column + length("lkmnosys") + 3
+ column = column + length("lkmressys") + 3
} else {
printf("%s },", funcname) > sysent
column = column + length(funcname) + 3
OpenPOWER on IntegriCloud