add support for 'NCOMPAT' to deal with NetBSD compat defines
This commit is contained in:
parent
5a60a84b23
commit
e37f8e4023
@ -1,11 +1,12 @@
|
||||
#! /bin/sh -
|
||||
# from: @(#)makesyscalls.sh 7.6 (Berkeley) 4/20/91
|
||||
# $Id: makesyscalls.sh,v 1.6 1994/03/18 19:18:07 mycroft Exp $
|
||||
# $Id: makesyscalls.sh,v 1.7 1994/05/17 00:01:00 cgd Exp $
|
||||
|
||||
set -e
|
||||
|
||||
# name of compat option:
|
||||
compat=COMPAT_43
|
||||
ncompat=COMPAT_09
|
||||
|
||||
# output files:
|
||||
sysnames="syscalls.c"
|
||||
@ -15,9 +16,10 @@ syssw="init_sysent.c"
|
||||
# tmp files:
|
||||
sysdcl="sysent.dcl"
|
||||
syscompat="sysent.compat"
|
||||
sysncompat="sysent.ncompat"
|
||||
sysent="sysent.switch"
|
||||
|
||||
trap "rm $sysdcl $syscompat $sysent" 0
|
||||
trap "rm $sysdcl $syscompat $sysncompat $sysent" 0
|
||||
|
||||
case $# in
|
||||
0) echo "Usage: $0 input-file" 1>&2
|
||||
@ -29,10 +31,12 @@ awk < $1 "
|
||||
BEGIN {
|
||||
sysdcl = \"$sysdcl\"
|
||||
syscompat = \"$syscompat\"
|
||||
sysncompat = \"$sysncompat\"
|
||||
sysent = \"$sysent\"
|
||||
sysnames = \"$sysnames\"
|
||||
syshdr = \"$syshdr\"
|
||||
compat = \"$compat\"
|
||||
ncompat = \"$ncompat\"
|
||||
infile = \"$1\"
|
||||
"'
|
||||
|
||||
@ -42,6 +46,9 @@ awk < $1 "
|
||||
printf "\n#ifdef %s\n", compat > syscompat
|
||||
printf "#define compat(n, name) n, __CONCAT(o,name)\n\n" > syscompat
|
||||
|
||||
printf "\n#ifdef %s\n", ncompat > sysncompat
|
||||
printf "#define ncompat(n, name) n, __CONCAT(o,name)\n\n" > sysncompat
|
||||
|
||||
printf "/*\n * System call names.\n *\n" > sysnames
|
||||
printf " * DO NOT EDIT-- this file is automatically generated.\n" > sysnames
|
||||
|
||||
@ -127,6 +134,17 @@ awk < $1 "
|
||||
syscall++
|
||||
next
|
||||
}
|
||||
$2 == "NCOMPAT" {
|
||||
printf("int\to%s();\n", $4) > sysncompat
|
||||
printf("\tncompat(%d,%s),\t\t/* %d = old %s */\n", \
|
||||
$3, $4, syscall, $5) > sysent
|
||||
printf("\t\"old.%s\",\t\t/* %d = old %s */\n", \
|
||||
$5, syscall, $5) > sysnames
|
||||
printf("\t\t\t\t/* %d is old %s */\n", \
|
||||
syscall, comment) > syshdr
|
||||
syscall++
|
||||
next
|
||||
}
|
||||
$2 == "LIBCOMPAT" {
|
||||
printf("int\to%s();\n", $4) > syscompat
|
||||
printf("\tcompat(%d,%s),\t\t/* %d = old %s */\n", \
|
||||
@ -165,6 +183,10 @@ awk < $1 "
|
||||
printf("#define compat(n, name) 0, nosys\n") > syscompat
|
||||
printf("#endif /* %s */\n\n", compat) > syscompat
|
||||
|
||||
printf("\n#else /* %s */\n", compat) > sysncompat
|
||||
printf("#define ncompat(n, name) 0, nosys\n") > sysncompat
|
||||
printf("#endif /* %s */\n\n", compat) > sysncompat
|
||||
|
||||
printf("};\n\n") > sysent
|
||||
printf("int\tnsysent = sizeof(sysent) / sizeof(sysent[0]);\n") > sysent
|
||||
|
||||
@ -174,6 +196,6 @@ awk < $1 "
|
||||
printf "#endif /* _SYS_SYSCALL_H */\n" > syshdr
|
||||
} '
|
||||
|
||||
cat $sysdcl $syscompat $sysent >$syssw
|
||||
cat $sysdcl $syscompat $sysncompat $sysent >$syssw
|
||||
|
||||
#chmod 444 $sysnames $syshdr $syssw
|
||||
|
@ -1,11 +1,11 @@
|
||||
$Id: syscalls.master,v 1.18 1994/05/07 00:39:06 cgd Exp $
|
||||
$Id: syscalls.master,v 1.19 1994/05/17 00:00:46 cgd Exp $
|
||||
; from: @(#)syscalls.master 7.26 (Berkeley) 3/25/91
|
||||
; System call name/number master file.
|
||||
; Processed to created init_sysent.c, syscalls.c and syscall.h.
|
||||
|
||||
; Columns: number type nargs name altname/comments
|
||||
; number system call number, must be in order
|
||||
; type one of STD, OBSOL, UNIMPL, NODEF, COMPAT
|
||||
; type one of STD, OBSOL, UNIMPL, NODEF, COMPAT, NCOMPAT, LIBCOMPAT
|
||||
; nargs number of arguments
|
||||
; name name of syscall routine
|
||||
; altname name of system call if different
|
||||
@ -17,6 +17,7 @@
|
||||
; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
|
||||
; OBSOL obsolete, not included in system, only specifies name
|
||||
; NODEF do everything except include in syscall.h
|
||||
; NCOMPAT included on NetBSD COMPAT #ifdef
|
||||
; UNIMPL not implemented, placeholder only
|
||||
|
||||
; #ifdef's, etc. may be included, and are copied to the output files.
|
||||
@ -215,9 +216,9 @@
|
||||
160 UNIMPL 0 nosys
|
||||
161 UNIMPL 0 nosys
|
||||
#endif
|
||||
162 COMPAT 2 getdomainname
|
||||
163 COMPAT 2 setdomainname
|
||||
164 COMPAT 1 uname
|
||||
162 NCOMPAT 2 getdomainname
|
||||
163 NCOMPAT 2 setdomainname
|
||||
164 NCOMPAT 1 uname
|
||||
165 STD 2 sysarch
|
||||
166 UNIMPL 0 nosys
|
||||
167 UNIMPL 0 nosys
|
||||
|
Loading…
Reference in New Issue
Block a user