Subject: seteuid(2), hk(4) & xp(4), sethostname(2) (#396 2 of 3)
Index:	sys,lib,man/many 2.11BSD

Description:
	1) seteuid,setegid(2) do not exist (no 'saved ids').

	2) hk(4) doesn't implement disklabels.

	3) xp(4) can put a crash dump on a non-swap partition.

	4) gethostname(2) and sethostname(2) dupliate _sysctl(2) functionality.

Repeat-By:
	1) The saved uid (gid) capability does not exist.  This is new in
	   4.4BSD and has not previously been ported.  In 4.2/3BSD 'setreuid'
	   (gid) were used (imperfectly) to allow a setuid (gid) program to
	   switch back and forth between uids.  With 4.4BSD setreuid was dropped
	   and 'saved ids' were implemented with seteuid/gid.

	2) Observation.  Alternatively give "hk(0,0)" to the standalone 
	   disklabel program and be rewarded with an error.

	3) The check for the partition type when writing the memory image 
	   of a crash dump to a 'xp' drive was made before the pointer to the
	   partition information was calculated.  This could have allowed a
	   crash dump to be written to a file system by mistake.

	4) Note that 'sysctl' has the ability to set and get the hostname.  
	   There is no longer any need for separate system calls.  A previous
	   update placed the 'gethostid' and 'sethostid' with their sysctl
	   counterparts, now it is time to do the same for set/gethosthame

Fix:
	This is #396 and is part 2 of 3.  Make sure you have all 3 parts
	before proceeding.  

	When all three parts have been collected cut where indicated in each 
	and save to tmp files (the instructions assume /tmp/395, /tmp/396 and
	/tmp/397 respectively).

	The instructions are in part 1 (#395).

============================cut here================================
*** /usr/include/syscall.h.old	Fri Sep 26 20:18:25 1997
--- /usr/include/syscall.h	Sun Nov 30 21:25:32 1997
***************
*** 3,9 ****
   * All rights reserved.  The Berkeley software License Agreement
   * specifies the terms and conditions for redistribution.
   *
!  *	@(#)syscall.h	5.4.7 (2.11BSD GTE) 1997/9/26
   */
  
  /*
--- 3,9 ----
   * All rights reserved.  The Berkeley software License Agreement
   * specifies the terms and conditions for redistribution.
   *
!  *	@(#)syscall.h	5.4.8 (2.11BSD GTE) 1997/11/30
   */
  
  /*
***************
*** 18,24 ****
  #define	SYS_open	5
  #define	SYS_close	6
  #define	SYS_wait4	7
! #define	SYS_creat	8
  #define	SYS_link	9
  #define	SYS_unlink	10
  #define	SYS_execv	11
--- 18,24 ----
  #define	SYS_open	5
  #define	SYS_close	6
  #define	SYS_wait4	7
! 				/* 8 - old creat */
  #define	SYS_link	9
  #define	SYS_unlink	10
  #define	SYS_execv	11
***************
*** 55,66 ****
  #define	SYS_pipe	42
  #define	SYS_setlogin	43
  #define	SYS_profil	44
! 				/* 45 is unused */
! 				/* 46 is old: setgid */
  #define	SYS_getgid	47
  #define	SYS_getegid	48
! 				/* 49 is unused */
! 				/* 50 is unused */
  #define	SYS_acct	51
  #define	SYS_phys	52
  #define	SYS_lock	53
--- 55,66 ----
  #define	SYS_pipe	42
  #define	SYS_setlogin	43
  #define	SYS_profil	44
! #define	SYS_setuid	45
! #define	SYS_seteuid	46
  #define	SYS_getgid	47
  #define	SYS_getegid	48
! #define	SYS_setgid	49
! #define	SYS_setegid	50
  #define	SYS_acct	51
  #define	SYS_phys	52
  #define	SYS_lock	53
***************
*** 119,131 ****
  #define	SYS_listen	106
  #define	SYS_sigsuspend	107
  /*
!  * 108 thru 112 are 4.3BSD compatibility syscalls
  */
! #define	SYS_sigvec	108
! #define	SYS_sigblock	109
! #define	SYS_sigsetmask	110
! #define	SYS_sigpause	111
  #define	SYS_sigstack	112
  #define	SYS_recvmsg	113
  #define	SYS_sendmsg	114
  				/* 115 is old vtrace */
--- 119,133 ----
  #define	SYS_listen	106
  #define	SYS_sigsuspend	107
  /*
!  * 108 thru 112 are 4.3BSD compatibility syscalls.  sigstack has to remain
!  * defined because no replacement routine exists.  Sigh.
  */
! 				/* 108 - old sigvec */
! 				/* 109 - old sigblock */
! 				/* 110 - old sigsetmask */
! 				/* 111 - old sigpause */
  #define	SYS_sigstack	112
+ 
  #define	SYS_recvmsg	113
  #define	SYS_sendmsg	114
  				/* 115 is old vtrace */
***************
*** 139,146 ****
  #define	SYS_fchown	123
  #define	SYS_fchmod	124
  #define	SYS_recvfrom	125
! #define	SYS_setreuid	126
! #define	SYS_setregid	127
  #define	SYS_rename	128
  #define	SYS_truncate	129
  #define	SYS_ftruncate	130
--- 141,148 ----
  #define	SYS_fchown	123
  #define	SYS_fchmod	124
  #define	SYS_recvfrom	125
! 				/* 126 - old setreuid */
! 				/* 127 - old setregid */
  #define	SYS_rename	128
  #define	SYS_truncate	129
  #define	SYS_ftruncate	130
***************
*** 155,162 ****
  				/* 139 is unused */
  #define	SYS_adjtime	140
  #define	SYS_getpeername	141
! #define	SYS_gethostid	142
! #define	SYS_sethostid	143
  #define	SYS_getrlimit	144
  #define	SYS_setrlimit	145
  #define	SYS_killpg	146
--- 157,164 ----
  				/* 139 is unused */
  #define	SYS_adjtime	140
  #define	SYS_getpeername	141
! 				/* 142 - old gethostid */
! 				/* 143 - old sethostid */
  #define	SYS_getrlimit	144
  #define	SYS_setrlimit	145
  #define	SYS_killpg	146
*** /usr/src/bin/adb/opset.c.old	Fri Sep 26 20:39:58 1997
--- /usr/src/bin/adb/opset.c	Sun Nov 30 21:59:49 1997
***************
*** 1,5 ****
  #if	!defined(lint) && defined(DOSCCS)
! static	char	sccsid[] = "@(#)opset.c 2.4 (2.11BSD GTE) 1997/9/26";
  #endif
  
  #include "defs.h"
--- 1,5 ----
  #if	!defined(lint) && defined(DOSCCS)
! static	char	sccsid[] = "@(#)opset.c 2.5 (2.11BSD GTE) 1997/11/30";
  #endif
  
  #include "defs.h"
***************
*** 140,146 ****
  	"open",
  	"close",
  	"wait4",
! 	"creat",
  	"link",
  	"unlink",		/* 10 */
  	"execv",
--- 140,146 ----
  	"open",
  	"close",
  	"wait4",
! 	"old creat",		/* 8 - old creat COMPAT-43 */
  	"link",
  	"unlink",		/* 10 */
  	"execv",
***************
*** 177,188 ****
  	"pipe",
  	"setlogin",		/* 43 - unused */
  	"profil",
! 	NULL,			/* 45 - unused */
! 	NULL,			/* 46 - unused */
  	"getgid",
  	"getegid",
! 	NULL,			/* 49 - unused */
! 	NULL,			/* 50 - unused */
  	"acct",
  	"phys",
  	"lock",
--- 177,188 ----
  	"pipe",
  	"setlogin",		/* 43 - unused */
  	"profil",
! 	"setuid",		/* 45 - setuid */
! 	"seteuid",		/* 46 - seteuid */
  	"getgid",
  	"getegid",
! 	"setgid",		/* 49 - setgid */
! 	"setegid",		/* 50 - setegid */
  	"acct",
  	"phys",
  	"lock",
***************
*** 216,226 ****
  	"getpgrp",
  	"setpgrp",
  	"setitimer",
! 	"old wait",
  	NULL,			/* 85 - unused */
  	"getitimer",
! 	"gethostname",
! 	"sethostname",
  	"getdtablesize",
  	"dup2",
  	NULL,			/* 91 - unused */
--- 216,226 ----
  	"getpgrp",
  	"setpgrp",
  	"setitimer",
! 	"old wait",		/* 84 - old wait COMPAT-43 */
  	NULL,			/* 85 - unused */
  	"getitimer",
! 	"old gethostname",	/* 87 - old gethostname COMPAT-43 */
! 	"old sethostname",	/* 88 - old sethostname COMPAT-43 */
  	"getdtablesize",
  	"dup2",
  	NULL,			/* 91 - unused */
***************
*** 240,250 ****
  	"setsockopt",
  	"listen",
  	"sigsuspend",		/* 107 - sigsuspend */
! 	"sigvec",		/* 108 - sigvec COMPAT-43 */
! 	"sigblock",		/* 109 - sigblock COMPAT-43 */
! 	"sigsetmask",		/* 110 - sigsetmask COMPAT-43 */
! 	"sigpause",		/* 111 - sigpause COMPAT-43 */
! 	"sigstack",		/* 112 - sigstack COMPAT-43 */
  	"recvmsg",
  	"sendmsg",
  	NULL,			/* 115 - unused */
--- 240,250 ----
  	"setsockopt",
  	"listen",
  	"sigsuspend",		/* 107 - sigsuspend */
! 	"old sigvec",		/* 108 - sigvec COMPAT-43 */
! 	"old sigblock",		/* 109 - sigblock COMPAT-43 */
! 	"old sigsetmask",	/* 110 - sigsetmask COMPAT-43 */
! 	"old sigpause",		/* 111 - sigpause COMPAT-43 */
! 	"old sigstack",		/* 112 - sigstack COMPAT-43 */
  	"recvmsg",
  	"sendmsg",
  	NULL,			/* 115 - unused */
***************
*** 258,265 ****
  	"fchown",
  	"fchmod",
  	"recvfrom",
! 	"setreuid",
! 	"setregid",
  	"rename",
  	"truncate",
  	"ftruncate",
--- 258,265 ----
  	"fchown",
  	"fchmod",
  	"recvfrom",
! 	"old setreuid",		/* 126 - old setreuid COMPAT-43 */
! 	"old setregid",		/* 127 - old setregid COMPAT-43 */
  	"rename",
  	"truncate",
  	"ftruncate",
***************
*** 274,281 ****
  	NULL,			/* 139 - unused */
  	"adjtime",
  	"getpeername",
! 	"gethostid",		/* 142 - gethostid COMPAT-43 */
! 	"sethostid",		/* 143 - sethostid COMPAT-43 */
  	"getrlimit",
  	"setrlimit",
  	"killpg",
--- 274,281 ----
  	NULL,			/* 139 - unused */
  	"adjtime",
  	"getpeername",
! 	"old gethostid",	/* 142 - gethostid COMPAT-43 */
! 	"old sethostid",	/* 143 - sethostid COMPAT-43 */
  	"getrlimit",
  	"setrlimit",
  	"killpg",
*** /usr/src/bin/ps.c.old	Sat Nov 16 17:59:56 1996
--- /usr/src/bin/ps.c	Tue Dec 16 20:37:03 1997
***************
*** 1,4 ****
--- 1,6 ----
  /*
+  *	1997/12/16 - Fix coredump when processing -U.
+  *
   *	1996/11/16 - Move 'psdatabase' in /var/run.
   *
   *	12/20/94 - Missing casts caused errors in reporting on swapped
***************
*** 679,685 ****
  			addchan(name + 1, nbuf.n_value);
  		if	(nllen)
  			{
! 			for	(nnn = nl; *nnn->n_un.n_name; nnn++)
  				{
  				if	(!strcmp(nnn->n_un.n_name, name))
  					{
--- 681,687 ----
  			addchan(name + 1, nbuf.n_value);
  		if	(nllen)
  			{
! 			for	(nnn = nl; nnn->n_un.n_name; nnn++)
  				{
  				if	(!strcmp(nnn->n_un.n_name, name))
  					{
*** /usr/src/lib/libc/compat-43/Makefile.old	Thu Aug 28 13:44:59 1997
--- /usr/src/lib/libc/compat-43/Makefile	Sun Nov 30 19:52:08 1997
***************
*** 1,11 ****
  #
  # Public domain 1997/8/28
  #
! #	@(#)Makefile	1.0 (2.11BSD) 1997/8/28
  #
  CFLAGS=	-O ${DEFS}
! SRCS= creat.c gethostid.c sethostid.c sigcompat.c
! OBJS= creat.o gethostid.o sethostid.o sigcompat.o
  
  .c.o:
  	${CC} -p ${CFLAGS} -c $*.c
--- 1,13 ----
  #
  # Public domain 1997/8/28
  #
! #	@(#)Makefile	1.1 (2.11BSD) 1997/11/30
  #
  CFLAGS=	-O ${DEFS}
! SRCS= creat.c gethostid.c sethostid.c sigcompat.c \
! 	setregid.c setreuid.c setrgid.c setruid.c
! OBJS= creat.o gethostid.o sethostid.o sigcompat.o \
! 	setregid.o setreuid.o setrgid.o setruid.o
  
  .c.o:
  	${CC} -p ${CFLAGS} -c $*.c
*** /usr/src/lib/libc/gen/Makefile.old	Sun Aug 31 00:38:08 1997
--- /usr/src/lib/libc/gen/Makefile	Sun Nov 30 20:23:15 1997
***************
*** 3,9 ****
  # All rights reserved.  The Berkeley software License Agreement
  # specifies the terms and conditions for redistribution.
  #
! #	@(#)Makefile	5.7.9 (2.11BSD) 1997/08/28
  #
  # Several routines have been rewritten in assembly language for the VAX and
  # the PDP. If you are not running on a VAX or PDP, you should use the
--- 3,9 ----
  # All rights reserved.  The Berkeley software License Agreement
  # specifies the terms and conditions for redistribution.
  #
! #	@(#)Makefile	5.7.10 (2.11BSD) 1997/11/30
  #
  # Several routines have been rewritten in assembly language for the VAX and
  # the PDP. If you are not running on a VAX or PDP, you should use the
***************
*** 17,30 ****
  	ctime.c ctype_.c daemon.c devname.c disklabel.c err.c \
  	execvp.c fakcu.c \
  	fstab.c gcvt.c getenv.c getgrent.c getgrgid.c getgrnam.c getlogin.c \
! 	getgrouplist.c \
  	getpass.c getpwent.c getloadavg.c getmntinfo.c \
  	getttyent.c getttynam.c getusershell.c getwd.c \
  	initgroups.c isatty.c malloc.c mktemp.c ndbm.c nlist.c \
  	opendir.c perror.c popen.c psignal.c qsort.c random.c readdir.c \
! 	regex.c scandir.c seekdir.c setgid.c setegid.c setrgid.c setuid.c \
! 	setmode.c \
! 	setenv.c seteuid.c setruid.c siglist.c signal.c siginterrupt.c \
  	sigsetops.c \
  	sleep.c strcasecmp.c strftime.c swab.c sysctl.c syslog.c system.c \
  	syserrlst.c \
--- 17,30 ----
  	ctime.c ctype_.c daemon.c devname.c disklabel.c err.c \
  	execvp.c fakcu.c \
  	fstab.c gcvt.c getenv.c getgrent.c getgrgid.c getgrnam.c getlogin.c \
! 	getgrouplist.c gethostname.c \
  	getpass.c getpwent.c getloadavg.c getmntinfo.c \
  	getttyent.c getttynam.c getusershell.c getwd.c \
  	initgroups.c isatty.c malloc.c mktemp.c ndbm.c nlist.c \
  	opendir.c perror.c popen.c psignal.c qsort.c random.c readdir.c \
! 	regex.c scandir.c seekdir.c \
! 	setmode.c sethostname.c \
! 	setenv.c siglist.c signal.c siginterrupt.c \
  	sigsetops.c \
  	sleep.c strcasecmp.c strftime.c swab.c sysctl.c syslog.c system.c \
  	syserrlst.c \
***************
*** 34,47 ****
  	ctime.o ctype_.o daemon.o devname.o disklabel.o err.o \
  	execvp.o fakcu.o \
  	fstab.o gcvt.o getenv.o getgrent.o getgrgid.o getgrnam.o getlogin.o \
! 	getgrouplist.o \
  	getpass.o getpwent.o getloadavg.o getmntinfo.o \
  	getttyent.o getttynam.o getusershell.o getwd.o \
  	initgroups.o isatty.o malloc.o mktemp.o ndbm.o nlist.o \
  	opendir.o perror.o popen.o psignal.o qsort.o random.o readdir.o \
! 	regex.o scandir.o seekdir.o setgid.o setegid.o setrgid.o setuid.o \
! 	setmode.o \
! 	setenv.o seteuid.o setruid.o siglist.o signal.o siginterrupt.o \
  	sigsetops.o \
  	sleep.o strcasecmp.o strftime.o swab.o sysctl.o syslog.o system.o \
  	syserrlst.o \
--- 34,47 ----
  	ctime.o ctype_.o daemon.o devname.o disklabel.o err.o \
  	execvp.o fakcu.o \
  	fstab.o gcvt.o getenv.o getgrent.o getgrgid.o getgrnam.o getlogin.o \
! 	getgrouplist.o gethostname.o \
  	getpass.o getpwent.o getloadavg.o getmntinfo.o \
  	getttyent.o getttynam.o getusershell.o getwd.o \
  	initgroups.o isatty.o malloc.o mktemp.o ndbm.o nlist.o \
  	opendir.o perror.o popen.o psignal.o qsort.o random.o readdir.o \
! 	regex.o scandir.o seekdir.o \
! 	setmode.o sethostname.o \
! 	setenv.o siglist.o signal.o siginterrupt.o \
  	sigsetops.o \
  	sleep.o strcasecmp.o strftime.o swab.o sysctl.o syslog.o system.o \
  	syserrlst.o \
***************
*** 246,258 ****
  seekdir.o: /usr/include/machine/machparam.h /usr/include/sys/types.h
  seekdir.o: /usr/include/signal.h /usr/include/sys/types.h
  seekdir.o: /usr/include/sys/dir.h
- setgid.o: setgid.c
- setegid.o: setegid.c
- setrgid.o: setrgid.c
- setuid.o: setuid.c
  setenv.o: setenv.c /usr/include/sys/types.h /usr/include/stdio.h
- seteuid.o: seteuid.c
- setruid.o: setruid.c
  siglist.o: siglist.c /usr/include/signal.h
  signal.o: signal.c /usr/include/signal.h
  siginterrupt.o: siginterrupt.c /usr/include/signal.h
--- 246,252 ----
*** /usr/src/lib/libc/pdp/sys/Makefile.old	Fri Sep 26 20:22:43 1997
--- /usr/src/lib/libc/pdp/sys/Makefile	Sun Nov 30 20:20:59 1997
***************
*** 1,6 ****
  # Placed in the public domain - 1995/05/06
  #
! #	@(#)Makefile	1.4 (2.11BSD) 1997/9/26
  
  CPP= /lib/cpp
  LD= /bin/ld
--- 1,6 ----
  # Placed in the public domain - 1995/05/06
  #
! #	@(#)Makefile	1.5 (2.11BSD) 1997/11/30
  
  CPP= /lib/cpp
  LD= /bin/ld
***************
*** 23,29 ****
  	chmod.o chown.o chroot.o close.o connect.o dup.o dup2.o \
  	execve.o fchdir.o fchflags.o fchmod.o fchown.o fcntl.o flock.o fstat.o \
  	fsync.o ftruncate.o getdtablesize.o getgroups.o getitimer.o \
! 	_getlogin.o gethostname.o getsockname.o sethostname.o \
  	getpeername.o getpriority.o getrlimit.o getrusage.o getsockopt.o \
  	gettimeofday.o ioctl.o kill.o killpg.o link.o listen.o lstat.o mkdir.o
  
--- 23,29 ----
  	chmod.o chown.o chroot.o close.o connect.o dup.o dup2.o \
  	execve.o fchdir.o fchflags.o fchmod.o fchown.o fcntl.o flock.o fstat.o \
  	fsync.o ftruncate.o getdtablesize.o getgroups.o getitimer.o \
! 	_getlogin.o getsockname.o \
  	getpeername.o getpriority.o getrlimit.o getrusage.o getsockopt.o \
  	gettimeofday.o ioctl.o kill.o killpg.o link.o listen.o lstat.o mkdir.o
  
***************
*** 30,36 ****
  NORM2=  mknod.o mount.o open.o quota.o read.o readlink.o readv.o reboot.o \
  	recv.o recvfrom.o recvmsg.o rename.o rmdir.o select.o send.o sendmsg.o \
  	sendto.o setgroups.o setitimer.o setpgrp.o setpriority.o setquota.o \
! 	setregid.o setreuid.o setrlimit.o setsockopt.o settimeofday.o \
  	shutdown.o sigaltstack.o socket.o socketpair.o stat.o symlink.o \
  	sigprocmask.o sigstack.o \
  	statfs.o fstatfs.o getfsstat.o \
--- 30,37 ----
  NORM2=  mknod.o mount.o open.o quota.o read.o readlink.o readv.o reboot.o \
  	recv.o recvfrom.o recvmsg.o rename.o rmdir.o select.o send.o sendmsg.o \
  	sendto.o setgroups.o setitimer.o setpgrp.o setpriority.o setquota.o \
! 	setuid.o seteuid.o setgid.o setegid.o \
! 	setrlimit.o setsockopt.o settimeofday.o \
  	shutdown.o sigaltstack.o socket.o socketpair.o stat.o symlink.o \
  	sigprocmask.o sigstack.o \
  	statfs.o fstatfs.o getfsstat.o \
*** /usr/src/man/man2/Makefile.old	Fri Sep 26 22:52:26 1997
--- /usr/src/man/man2/Makefile	Mon Dec  8 21:57:24 1997
***************
*** 14,20 ****
  # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  #
! #	@(#)Makefile	2.8 (2.11BSD GTE) 1997/9/26
  #
  MDIR=	/usr/man/cat2
  SRCS=	accept.2 access.2 acct.2 adjtime.2 bind.2 brk.2 chdir.2 chmod.2 \
--- 14,20 ----
  # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  #
! #	@(#)Makefile	2.9 (2.11BSD GTE) 1997/12/8
  #
  MDIR=	/usr/man/cat2
  SRCS=	accept.2 access.2 acct.2 adjtime.2 bind.2 brk.2 chdir.2 chmod.2 \
***************
*** 21,35 ****
  	chown.2 chroot.2 close.2 connect.2 creat.2 dup.2 execve.2 exit.2 \
  	chflags.2 \
  	fcntl.2 fetchi.2 flock.2 fork.2 fperr.2 fsync.2 getdtablesize.2 \
! 	getgid.2 getgroups.2 gethostid.2 gethostname.2 getitimer.2 \
  	getpagesize.2 getpeername.2 getpgrp.2 getpid.2 getpriority.2 \
  	getrlimit.2 getrusage.2 getsockname.2 getsockopt.2 gettimeofday.2 \
  	getfsstat.2 getlogin.2 \
! 	getuid.2 intro.2 ioctl.2 kill.2 killpg.2 link.2 listen.2 \
  	lock.2 lseek.2 mkdir.2 mknod.2 mount.2 nostk.2 open.2 phys.2 \
  	pipe.2 profil.2 ptrace.2 quota.2 read.2 readlink.2 reboot.2 \
  	recv.2 rename.2 rmdir.2 select.2 send.2 setgroups.2 setpgrp.2 \
! 	setquota.2 setregid.2 setreuid.2 shutdown.2 sigblock.2 sigpause.2 \
  	sigaction.2 sigaltstack.2 sigpending.2 sigprocmask.2 sigsuspend.2 \
  	sigreturn.2 sigsetmask.2 sigstack.2 sigvec.2 socket.2 socketpair.2 \
  	stat.2 statfs.2 swapon.2 symlink.2 sync.2 syscall.2 truncate.2 ucall.2 \
--- 21,36 ----
  	chown.2 chroot.2 close.2 connect.2 creat.2 dup.2 execve.2 exit.2 \
  	chflags.2 \
  	fcntl.2 fetchi.2 flock.2 fork.2 fperr.2 fsync.2 getdtablesize.2 \
! 	getgroups.2 gethostid.2 gethostname.2 getitimer.2 \
  	getpagesize.2 getpeername.2 getpgrp.2 getpid.2 getpriority.2 \
  	getrlimit.2 getrusage.2 getsockname.2 getsockopt.2 gettimeofday.2 \
  	getfsstat.2 getlogin.2 \
! 	getuid.2 setreuid.2 setuid.2 getgid.2 setregid.2 \
! 	intro.2 ioctl.2 kill.2 killpg.2 link.2 listen.2 \
  	lock.2 lseek.2 mkdir.2 mknod.2 mount.2 nostk.2 open.2 phys.2 \
  	pipe.2 profil.2 ptrace.2 quota.2 read.2 readlink.2 reboot.2 \
  	recv.2 rename.2 rmdir.2 select.2 send.2 setgroups.2 setpgrp.2 \
! 	setquota.2 shutdown.2 sigblock.2 sigpause.2 \
  	sigaction.2 sigaltstack.2 sigpending.2 sigprocmask.2 sigsuspend.2 \
  	sigreturn.2 sigsetmask.2 sigstack.2 sigvec.2 socket.2 socketpair.2 \
  	stat.2 statfs.2 swapon.2 symlink.2 sync.2 syscall.2 truncate.2 ucall.2 \
***************
*** 38,52 ****
  	chown.0 chroot.0 close.0 connect.0 creat.0 dup.0 execve.0 exit.0 \
  	chflags.0 \
  	fcntl.0 fetchi.0 flock.0 fork.0 fperr.0 fsync.0 getdtablesize.0 \
! 	getgid.0 getgroups.0 gethostid.0 gethostname.0 getitimer.0 \
  	getpagesize.0 getpeername.0 getpgrp.0 getpid.0 getpriority.0 \
  	getrlimit.0 getrusage.0 getsockname.0 getsockopt.0 gettimeofday.0 \
  	getfsstat.0 getlogin.0 \
! 	getuid.0 intro.0 ioctl.0 kill.0 killpg.0 link.0 listen.0 \
  	lock.0 lseek.0 mkdir.0 mknod.0 mount.0 nostk.0 open.0 phys.0 \
  	pipe.0 profil.0 ptrace.0 quota.0 read.0 readlink.0 reboot.0 \
  	recv.0 rename.0 rmdir.0 select.0 send.0 setgroups.0 setpgrp.0 \
! 	setquota.0 setregid.0 setreuid.0 shutdown.0 sigblock.0 sigpause.0 \
  	sigaction.0 sigaltstack.0 sigpending.0 sigprocmask.0 sigsuspend.0 \
  	sigreturn.0 sigsetmask.0 sigstack.0 sigvec.0 socket.0 socketpair.0 \
  	stat.0 statfs.0 swapon.0 symlink.0 sync.0 syscall.0 truncate.0 ucall.0 \
--- 39,54 ----
  	chown.0 chroot.0 close.0 connect.0 creat.0 dup.0 execve.0 exit.0 \
  	chflags.0 \
  	fcntl.0 fetchi.0 flock.0 fork.0 fperr.0 fsync.0 getdtablesize.0 \
! 	getgroups.0 gethostid.0 gethostname.0 getitimer.0 \
  	getpagesize.0 getpeername.0 getpgrp.0 getpid.0 getpriority.0 \
  	getrlimit.0 getrusage.0 getsockname.0 getsockopt.0 gettimeofday.0 \
  	getfsstat.0 getlogin.0 \
! 	getuid.0 setreuid.0 setuid.0 getgid.0 setregid.0 \
! 	intro.0 ioctl.0 kill.0 killpg.0 link.0 listen.0 \
  	lock.0 lseek.0 mkdir.0 mknod.0 mount.0 nostk.0 open.0 phys.0 \
  	pipe.0 profil.0 ptrace.0 quota.0 read.0 readlink.0 reboot.0 \
  	recv.0 rename.0 rmdir.0 select.0 send.0 setgroups.0 setpgrp.0 \
! 	setquota.0 shutdown.0 sigblock.0 sigpause.0 \
  	sigaction.0 sigaltstack.0 sigpending.0 sigprocmask.0 sigsuspend.0 \
  	sigreturn.0 sigsetmask.0 sigstack.0 sigvec.0 socket.0 socketpair.0 \
  	stat.0 statfs.0 swapon.0 symlink.0 sync.0 syscall.0 truncate.0 ucall.0 \
***************
*** 64,132 ****
  clean: FRC
  	rm -f ${OBJS}
  
  install: _make_01
! 	install -c -o bin -g bin -m 444 ${OBJS} ${DESTDIR}${MDIR}
! 	rm -f ${DESTDIR}${MDIR}/dup2.0
! 	ln ${DESTDIR}${MDIR}/dup.0 ${DESTDIR}${MDIR}/dup2.0
! 	rm -f ${DESTDIR}${MDIR}/sbrk.0
! 	ln ${DESTDIR}${MDIR}/brk.0 ${DESTDIR}${MDIR}/sbrk.0
! 	rm -f ${DESTDIR}${MDIR}/fstat.0
! 	ln ${DESTDIR}${MDIR}/stat.0 ${DESTDIR}${MDIR}/fstat.0
! 	rm -f ${DESTDIR}${MDIR}/lstat.0
! 	ln ${DESTDIR}${MDIR}/stat.0 ${DESTDIR}${MDIR}/lstat.0
! 	rm -f ${DESTDIR}${MDIR}/readv.0
! 	ln ${DESTDIR}${MDIR}/read.0 ${DESTDIR}${MDIR}/readv.0
! 	rm -f ${DESTDIR}${MDIR}/recvfrom.0
! 	ln ${DESTDIR}${MDIR}/recv.0 ${DESTDIR}${MDIR}/recvfrom.0
! 	rm -f ${DESTDIR}${MDIR}/recvmsg.0
! 	ln ${DESTDIR}${MDIR}/recv.0 ${DESTDIR}${MDIR}/recvmsg.0
! 	rm -f ${DESTDIR}${MDIR}/sendmsg.0
! 	ln ${DESTDIR}${MDIR}/send.0 ${DESTDIR}${MDIR}/sendmsg.0
! 	rm -f ${DESTDIR}${MDIR}/sendto.0
! 	ln ${DESTDIR}${MDIR}/send.0 ${DESTDIR}${MDIR}/sendto.0
! 	rm -f ${DESTDIR}${MDIR}/fstatfs.0
! 	ln ${DESTDIR}${MDIR}/statfs.0 ${DESTDIR}${MDIR}/fstatfs.0
! 	rm -f ${DESTDIR}${MDIR}/wait3.0
! 	rm -f ${DESTDIR}${MDIR}/wait4.0
! 	rm -f ${DESTDIR}${MDIR}/waitpid.0
! 	ln ${DESTDIR}${MDIR}/wait.0 ${DESTDIR}${MDIR}/wait3.0
! 	ln ${DESTDIR}${MDIR}/wait.0 ${DESTDIR}${MDIR}/wait4.0
! 	ln ${DESTDIR}${MDIR}/wait.0 ${DESTDIR}${MDIR}/waitpid.0
! 	rm -f ${DESTDIR}${MDIR}/fchdir.0
! 	ln ${DESTDIR}${MDIR}/chmod.0 ${DESTDIR}${MDIR}/fchdir.0
! 	rm -f ${DESTDIR}${MDIR}/fchflags.0
! 	ln ${DESTDIR}${MDIR}/chflags.0 ${DESTDIR}${MDIR}/fchflags.0
! 	rm -f ${DESTDIR}${MDIR}/fchmod.0
! 	ln ${DESTDIR}${MDIR}/chmod.0 ${DESTDIR}${MDIR}/fchmod.0
! 	rm -f ${DESTDIR}${MDIR}/fchown.0
! 	ln ${DESTDIR}${MDIR}/chown.0 ${DESTDIR}${MDIR}/fchown.0
! 	rm -f ${DESTDIR}${MDIR}/umount.0
! 	ln ${DESTDIR}${MDIR}/mount.0 ${DESTDIR}${MDIR}/umount.0
! 	rm -f ${DESTDIR}${MDIR}/writev.0
! 	ln ${DESTDIR}${MDIR}/write.0 ${DESTDIR}${MDIR}/writev.0
! 	rm -f ${DESTDIR}${MDIR}/getegid.0
! 	ln ${DESTDIR}${MDIR}/getgid.0 ${DESTDIR}${MDIR}/getegid.0
! 	rm -f ${DESTDIR}${MDIR}/geteuid.0
! 	ln ${DESTDIR}${MDIR}/getuid.0 ${DESTDIR}${MDIR}/geteuid.0
! 	rm -f ${DESTDIR}${MDIR}/getppid.0
! 	ln ${DESTDIR}${MDIR}/getpid.0 ${DESTDIR}${MDIR}/getppid.0
! 	rm -f ${DESTDIR}${MDIR}/ftruncate.0
! 	ln ${DESTDIR}${MDIR}/truncate.0 ${DESTDIR}${MDIR}/ftruncate.0
! 	rm -f ${DESTDIR}${MDIR}/sethostid.0
! 	ln ${DESTDIR}${MDIR}/gethostid.0 ${DESTDIR}${MDIR}/sethostid.0
! 	rm -f ${DESTDIR}${MDIR}/setitimer.0
! 	ln ${DESTDIR}${MDIR}/getitimer.0 ${DESTDIR}${MDIR}/setitimer.0
! 	rm -f ${DESTDIR}${MDIR}/setrlimit.0
! 	ln ${DESTDIR}${MDIR}/getrlimit.0 ${DESTDIR}${MDIR}/setrlimit.0
! 	rm -f ${DESTDIR}${MDIR}/setsockopt.0
! 	ln ${DESTDIR}${MDIR}/getsockopt.0 ${DESTDIR}${MDIR}/setsockopt.0
! 	rm -f ${DESTDIR}${MDIR}/sethostname.0
! 	ln ${DESTDIR}${MDIR}/gethostname.0 ${DESTDIR}${MDIR}/sethostname.0
! 	rm -f ${DESTDIR}${MDIR}/setpriority.0
! 	ln ${DESTDIR}${MDIR}/getpriority.0 ${DESTDIR}${MDIR}/setpriority.0
! 	rm -f ${DESTDIR}${MDIR}/settimeofday.0
! 	ln ${DESTDIR}${MDIR}/gettimeofday.0 ${DESTDIR}${MDIR}/settimeofday.0
! 	rm -f ${DESTDIR}${MDIR}/setlogin.0
! 	ln ${DESTDIR}${MDIR}/getlogin.0 ${DESTDIR}${MDIR}/setlogin.0
  
  FRC:
--- 66,118 ----
  clean: FRC
  	rm -f ${OBJS}
  
+ P=${DESTDIR}${MDIR}
+ 
+ REM= sbrk.0 dup2.0 fstat.0 lstat.0 readv.0 recvfrom.0 sendmsg.0 recvmsg.0 \
+ 	sendto.0 fstatfs.0 wait3.0 wait4.0 waitpid.0 fchdir.0 fchflags.0 \
+ 	fchmod.0 fchown.0 umount.0 writev.0 getppid.0 ftruncate.0 \
+ 	sethostid.0 setitimer.0 setrlimit.0 setsockopt.0 sethostname.0 \
+ 	setpriority.0 settimeofday.0 setlogin.0 geteuid.0 setgid.0 \
+ 	seteuid.0 setegid.0 getegid.0
+ 
  install: _make_01
! 	install -c -o bin -g bin -m 444 ${OBJS} ${P}
! 	for i in ${REM}; do \
! 		rm -f  ${P}/$$i; \
! 	done
! 	ln ${P}/dup.0 ${P}/dup2.0
! 	ln ${P}/brk.0 ${P}/sbrk.0
! 	ln ${P}/stat.0 ${P}/fstat.0
! 	ln ${P}/stat.0 ${P}/lstat.0
! 	ln ${P}/read.0 ${P}/readv.0
! 	ln ${P}/recv.0 ${P}/recvfrom.0
! 	ln ${P}/recv.0 ${P}/recvmsg.0
! 	ln ${P}/send.0 ${P}/sendmsg.0
! 	ln ${P}/send.0 ${P}/sendto.0
! 	ln ${P}/statfs.0 ${P}/fstatfs.0
! 	ln ${P}/wait.0 ${P}/wait3.0
! 	ln ${P}/wait.0 ${P}/wait4.0
! 	ln ${P}/wait.0 ${P}/waitpid.0
! 	ln ${P}/chmod.0 ${P}/fchdir.0
! 	ln ${P}/chflags.0 ${P}/fchflags.0
! 	ln ${P}/chmod.0 ${P}/fchmod.0
! 	ln ${P}/chown.0 ${P}/fchown.0
! 	ln ${P}/mount.0 ${P}/umount.0
! 	ln ${P}/write.0 ${P}/writev.0
! 	ln ${P}/getpid.0 ${P}/getppid.0
! 	ln ${P}/truncate.0 ${P}/ftruncate.0
! 	ln ${P}/gethostid.0 ${P}/sethostid.0
! 	ln ${P}/getitimer.0 ${P}/setitimer.0
! 	ln ${P}/getrlimit.0 ${P}/setrlimit.0
! 	ln ${P}/getsockopt.0 ${P}/setsockopt.0
! 	ln ${P}/gethostname.0 ${P}/sethostname.0
! 	ln ${P}/getpriority.0 ${P}/setpriority.0
! 	ln ${P}/gettimeofday.0 ${P}/settimeofday.0
! 	ln ${P}/getlogin.0 ${P}/setlogin.0
! 	ln ${P}/getuid.0 ${P}/geteuid.0
! 	ln ${P}/getgid.0 ${P}/getegid.0
! 	ln ${P}/setuid.0 ${P}/setgid.0
! 	ln ${P}/setuid.0 ${P}/seteuid.0
! 	ln ${P}/setuid.0 ${P}/setegid.0
  
  FRC:
*** /usr/src/man/man3/Makefile.old	Fri Oct  3 17:09:55 1997
--- /usr/src/man/man3/Makefile	Mon Dec  8 21:29:48 1997
***************
*** 14,20 ****
  # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  #
! #	@(#)Makefile	5.4.14 (2.11BSD) 1997/10/3
  #
  MDIR=	/usr/man/cat3
  SRCS1=	abort.3 abs.3 alarm.3 asinh.3 assert.3 atof.3 bstring.3 byteorder.3 \
--- 14,20 ----
  # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  #
! #	@(#)Makefile	5.4.15 (2.11BSD) 1997/12/8
  #
  MDIR=	/usr/man/cat3
  SRCS1=	abort.3 abs.3 alarm.3 asinh.3 assert.3 atof.3 bstring.3 byteorder.3 \
***************
*** 30,38 ****
  	malloc.3 math.3 mktemp.3 monitor.3 mp.3 ndbm.3 nice.3 nlist.3 ns.3 \
  	pause.3 perror.3 plot.3 popen.3 printf.3 psignal.3 putc.3 puts.3 \
  	qsort.3 rand.3 random.3 rcmd.3 regex.3 resolver.3 rexec.3 scandir.3 \
! 	scanf.3 setbuf.3 setjmp.3 setuid.3 siginterrupt.3 signal.3 sin.3 \
  	sinh.3 sleep.3 sqrt.3 stdio.3 strftime.3 string.3 strtok.3 stty.3 \
! 	setmode.3 sigsetops.3 \
  	strcspn.3 strpbrk.3 strsep.3 strspn.3 strtol.3 strtoul.3 strstr.3 \
  	swab.3 sysctl.3 syslog.3 \
  	system.3 termcap.3 time.3 times.3 ttyname.3 ualarm.3 uname.3 ungetc.3 \
--- 30,38 ----
  	malloc.3 math.3 mktemp.3 monitor.3 mp.3 ndbm.3 nice.3 nlist.3 ns.3 \
  	pause.3 perror.3 plot.3 popen.3 printf.3 psignal.3 putc.3 puts.3 \
  	qsort.3 rand.3 random.3 rcmd.3 regex.3 resolver.3 rexec.3 scandir.3 \
! 	scanf.3 setbuf.3 setjmp.3 siginterrupt.3 signal.3 sin.3 \
  	sinh.3 sleep.3 sqrt.3 stdio.3 strftime.3 string.3 strtok.3 stty.3 \
! 	setmode.3 setruid.3 sigsetops.3 \
  	strcspn.3 strpbrk.3 strsep.3 strspn.3 strtol.3 strtoul.3 strstr.3 \
  	swab.3 sysctl.3 syslog.3 \
  	system.3 termcap.3 time.3 times.3 ttyname.3 ualarm.3 uname.3 ungetc.3 \
***************
*** 51,59 ****
  	malloc.0 math.0 mktemp.0 monitor.0 mp.0 ndbm.0 nice.0 nlist.0 ns.0 \
  	pause.0 perror.0 plot.0 popen.0 printf.0 psignal.0 putc.0 puts.0 \
  	qsort.0 rand.0 random.0 rcmd.0 regex.0 resolver.0 rexec.0 scandir.0 \
! 	scanf.0 setbuf.0 setjmp.0 setuid.0 siginterrupt.0 signal.0 sin.0 \
  	sinh.0 sleep.0 sqrt.0 stdio.0 strftime.0 string.0 strtok.0 stty.0 \
! 	setmode.0 sigsetops.0 \
  	strcspn.0 strpbrk.0 strsep.0 strspn.0 strtol.0 strtoul.0 strstr.0 \
  	swab.0 sysctl.0 syslog.0 \
  	system.0 termcap.0 time.0 times.0 ttyname.0 ualarm.0 uname.0 ungetc.0 \
--- 51,59 ----
  	malloc.0 math.0 mktemp.0 monitor.0 mp.0 ndbm.0 nice.0 nlist.0 ns.0 \
  	pause.0 perror.0 plot.0 popen.0 printf.0 psignal.0 putc.0 puts.0 \
  	qsort.0 rand.0 random.0 rcmd.0 regex.0 resolver.0 rexec.0 scandir.0 \
! 	scanf.0 setbuf.0 setjmp.0 siginterrupt.0 signal.0 sin.0 \
  	sinh.0 sleep.0 sqrt.0 stdio.0 strftime.0 string.0 strtok.0 stty.0 \
! 	setmode.0 setruid.0 sigsetops.0 \
  	strcspn.0 strpbrk.0 strsep.0 strspn.0 strtol.0 strtoul.0 strstr.0 \
  	swab.0 sysctl.0 syslog.0 \
  	system.0 termcap.0 time.0 times.0 ttyname.0 ualarm.0 uname.0 ungetc.0 \
***************
*** 78,85 ****
  	_setjmp.0 acosh.0 alloca.0 atanh.0 cabs.0 calloc.0 ceil.0 \
  	closelog.0 fabs.0 fdopen.0 free.0 freopen.0 fscanf.0 \
  	ftell.0 fwrite.0 index.0 initstate.0 longjmp.0 mkstemp.0 openlog.0  \
! 	realloc.0 remque.0 rewind.0 rindex.0 rint.0 setegid.0 seteuid.0 \
! 	setgid.0 setlogmask.0 setrgid.0 setruid.0 setstate.0 srandom.0 \
  	sscanf.0 strcat.0 strcmp.0 strcpy.0 strlen.0 strncat.0 strncmp.0 \
  	strncpy.0 strcasecmp.0 strncasecmp.0 \
  	strerror.0 \
--- 78,85 ----
  	_setjmp.0 acosh.0 alloca.0 atanh.0 cabs.0 calloc.0 ceil.0 \
  	closelog.0 fabs.0 fdopen.0 free.0 freopen.0 fscanf.0 \
  	ftell.0 fwrite.0 index.0 initstate.0 longjmp.0 mkstemp.0 openlog.0  \
! 	realloc.0 remque.0 rewind.0 rindex.0 rint.0 \
! 	setlogmask.0 setstate.0 setrgid.0 srandom.0 \
  	sscanf.0 strcat.0 strcmp.0 strcpy.0 strlen.0 strncat.0 strncmp.0 \
  	strncpy.0 strcasecmp.0 strncasecmp.0 \
  	strerror.0 \
***************
*** 287,298 ****
  	ln ${DESTDIR}${MDIR}/fseek.0 ${DESTDIR}${MDIR}/rewind.0
  	ln ${DESTDIR}${MDIR}/string.0 ${DESTDIR}${MDIR}/rindex.0
  	ln ${DESTDIR}${MDIR}/floor.0 ${DESTDIR}${MDIR}/rint.0
- 	ln ${DESTDIR}${MDIR}/setuid.0 ${DESTDIR}${MDIR}/setegid.0
- 	ln ${DESTDIR}${MDIR}/setuid.0 ${DESTDIR}${MDIR}/seteuid.0
- 	ln ${DESTDIR}${MDIR}/setuid.0 ${DESTDIR}${MDIR}/setgid.0
  	ln ${DESTDIR}${MDIR}/syslog.0 ${DESTDIR}${MDIR}/setlogmask.0
- 	ln ${DESTDIR}${MDIR}/setuid.0 ${DESTDIR}${MDIR}/setrgid.0
- 	ln ${DESTDIR}${MDIR}/setuid.0 ${DESTDIR}${MDIR}/setruid.0
  	ln ${DESTDIR}${MDIR}/random.0 ${DESTDIR}${MDIR}/setstate.0
  	ln ${DESTDIR}${MDIR}/random.0 ${DESTDIR}${MDIR}/srandom.0
  	ln ${DESTDIR}${MDIR}/scanf.0 ${DESTDIR}${MDIR}/sscanf.0
--- 287,293 ----
***************
*** 395,399 ****
--- 390,395 ----
  	ln ${DESTDIR}${MDIR}/sleep.0 ${DESTDIR}${MDIR}/usleep.0
  	ln ${DESTDIR}${MDIR}/getenv.0 ${DESTDIR}${MDIR}/setenv.0
  	ln ${DESTDIR}${MDIR}/getenv.0 ${DESTDIR}${MDIR}/unsetenv.0
+ 	ln ${DESTDIR}${MDIR}/setruid.0 ${DESTDIR}${MDIR}/setrgid.0
  
  FRC:
*** /usr/src/new/crash/crash.c.old	Fri Dec 31 22:48:50 1993
--- /usr/src/new/crash/crash.c	Fri Nov 28 17:09:15 1997
***************
*** 382,390 ****
  	"\tsegflg",	&(u.u_segflg),			ONEBYTE, 0,
  	"\terror",	&(u.u_error),			HALFDEC, 0,
  	"\nuid",	(char *) &(u.u_uid),		UDEC, printuid,
! 	"\tgid",	(char *) &(u.u_gid),		UDEC, printgid,
  	"\nruid",	(char *) &(u.u_ruid),		UDEC, printuid,
  	"\trgid",	(char *) &(u.u_rgid),		UDEC, printgid,
  	"\nprocp",	(char *) &(u.u_procp),		OCT, 0,
  	"\tbase",	(char *) &(u.u_base),		OCT, 0,
  	"\tcount",	(char *) &(u.u_count),		DEC, 0,
--- 382,392 ----
  	"\tsegflg",	&(u.u_segflg),			ONEBYTE, 0,
  	"\terror",	&(u.u_error),			HALFDEC, 0,
  	"\nuid",	(char *) &(u.u_uid),		UDEC, printuid,
! 	"\nsvuid",	(char *) &(u.u_svuid),		UDEC, printuid,
  	"\nruid",	(char *) &(u.u_ruid),		UDEC, printuid,
+ 	"\tsvgid",	(char *) &(u.u_svgid),		UDEC, printgid,
  	"\trgid",	(char *) &(u.u_rgid),		UDEC, printgid,
+ 	"\tgroups",	(char *) u.u_groups,		UDEC, printgid,
  	"\nprocp",	(char *) &(u.u_procp),		OCT, 0,
  	"\tbase",	(char *) &(u.u_base),		OCT, 0,
  	"\tcount",	(char *) &(u.u_count),		DEC, 0,
*** /usr/src/share/adb/u.old	Wed Sep  3 21:07:47 1997
--- /usr/src/share/adb/u	Fri Nov 28 17:14:28 1997
***************
*** 4,10 ****
  +/"qsave"n
  +$<<label
  +/"val1"8t"val2"n2on
! +/"u_error"8t"u_eosys"n2bn"uid"8t"ruid"8t"gid"8t"rgid"n4un"groups"n16u
  +/"tsize"8t"dsize"8t"ssize"n3un
  +/"ssave"n
  +$<<label
--- 4,10 ----
  +/"qsave"n
  +$<<label
  +/"val1"8t"val2"n2on
! +/"u_error"8t"u_eosys"n2bn"uid"8t"svuid"8t"ruid"8t"svgid"8t"rgid"8tn"groups"n16u
  +/"tsize"8t"dsize"8t"ssize"n3un
  +/"ssave"n
  +$<<label
*** /usr/src/sys/GENERIC/Make.sys.old	Fri Aug 29 19:49:36 1997
--- /usr/src/sys/GENERIC/Make.sys	Fri Nov 28 16:32:58 1997
***************
*** 9,15 ****
  # software without specific prior written permission. This software
  # is provided ``as is'' without express or implied warranty.
  #
! #	2.5 (2.11BSD GTE) 1997/8/29
  #
  S=	../sys
  VPATH=	../sys
--- 9,15 ----
  # software without specific prior written permission. This software
  # is provided ``as is'' without express or implied warranty.
  #
! #	2.6 (2.11BSD GTE) 1997/11/28
  #
  S=	../sys
  VPATH=	../sys
***************
*** 18,23 ****
--- 18,24 ----
  	${S}/kern_clock.c ${S}/kern_descrip.c ${S}/kern_exec.c		\
  	${S}/kern_exit.c ${S}/kern_fork.c ${S}/kern_mman.c		\
  	${S}/kern_proc.c ${S}/kern_prot.c ${S}/kern_resource.c		\
+ 	${S}/kern_prot2.c						\
  	${S}/kern_sig.c ${S}/kern_subr.c ${S}/kern_sysctl.c		\
  	${S}/kern_sig2.c						\
  	${S}/kern_synch.c ${S}/kern_time.c ${S}/kern_xxx.c		\
***************
*** 38,44 ****
  OBJS=	init_main.o init_sysent.o kern_acct.o kern_clock.o		\
  	kern_descrip.o kern_exec.o kern_exit.o kern_fork.o kern_mman.o	\
  	kern_proc.o kern_prot.o kern_resource.o kern_sig.o kern_sysctl.o \
! 	kern_sig2.o							\
  	kern_subr.o kern_synch.o kern_time.o kern_xxx.o quota_sys.o	\
         quota_kern.o quota_ufs.o quota_subr.o subr_log.o subr_prf.o subr_rmap.o \
  	ingreslock.o							\
--- 39,45 ----
  OBJS=	init_main.o init_sysent.o kern_acct.o kern_clock.o		\
  	kern_descrip.o kern_exec.o kern_exit.o kern_fork.o kern_mman.o	\
  	kern_proc.o kern_prot.o kern_resource.o kern_sig.o kern_sysctl.o \
! 	kern_prot2.o kern_sig2.o					\
  	kern_subr.o kern_synch.o kern_time.o kern_xxx.o quota_sys.o	\
         quota_kern.o quota_ufs.o quota_subr.o subr_log.o subr_prf.o subr_rmap.o \
  	ingreslock.o							\
*** /usr/src/sys/GENERIC/Makefile.old	Fri Aug 29 21:43:48 1997
--- /usr/src/sys/GENERIC/Makefile	Fri Nov 28 16:42:45 1997
***************
*** 10,16 ****
  # software without specific prior written permission. This software
  # is provided ``as is'' without express or implied warranty.
  #
! #	2.11 (2.11BSD GTE) 1997/8/29
  #
  #########################################################
  # Non-network, but separate I/D kernel			#
--- 10,16 ----
  # software without specific prior written permission. This software
  # is provided ``as is'' without express or implied warranty.
  #
! #	2.12 (2.11BSD GTE) 1997/11/28
  #
  #########################################################
  # Non-network, but separate I/D kernel			#
***************
*** 48,54 ****
  
  BASE=	br.o dh.o dhu.o dhv.o dkbad.o dr.o dz.o init_sysent.o kern_clock.o \
  	kern_descrip.o kern_mman.o kern_proc.o kern_sig.o kern_subr.o \
! 	kern_synch.o lp.o machdep.o ra.o ram.o si.o \
  	subr_rmap.o subr_xxx.o sys_inode.o trap.o tty.o \
  	tty_conf.o tty_subr.o tty_tb.o tty_tty.o ufs_alloc.o ufs_bio.o \
  	ufs_bmap.o ufs_dsort.o ufs_fio.o ufs_inode.o ufs_namei.o \
--- 48,54 ----
  
  BASE=	br.o dh.o dhu.o dhv.o dkbad.o dr.o dz.o init_sysent.o kern_clock.o \
  	kern_descrip.o kern_mman.o kern_proc.o kern_sig.o kern_subr.o \
! 	kern_prot2.o kern_synch.o lp.o machdep.o ra.o ram.o si.o \
  	subr_rmap.o subr_xxx.o sys_inode.o trap.o tty.o \
  	tty_conf.o tty_subr.o tty_tb.o tty_tty.o ufs_alloc.o ufs_bio.o \
  	ufs_bmap.o ufs_dsort.o ufs_fio.o ufs_inode.o ufs_namei.o \
***************
*** 59,71 ****
  	machdep2.o quota_sys.o subr_prf.o sys_process.o \
  	syscalls.o ufs_mount.o
  OV4=	hk.o init_main.o kern_prot.o tty_pty.o quota_kern.o quota_subr.o \
! 	quota_ufs.o subr_log.o vm_swp.o vm_swap.o vm_proc.o toy.o
  OV5=	ht.o tm.o ts.o
  OV6=	tmscp.o tmscpdump.o
  OV7=	rl.o mch_fpsim.o ingreslock.o ufs_disksubr.o
  OV8=	rx.o kern_sysctl.o vm_sched.o vm_text.o
  OV9=	kern_pdp.o kern_xxx.o ufs_syscalls2.o mem.o ufs_subr.o rk.o sys_pipe.o \
! 	kern_sig2.o
  
  KERNOBJ=${CONF} ${BASE} ${OV1} ${OV2} ${OV3} ${OV4} ${OV5} \
  	${OV6} ${OV7} ${OV8} ${OV9} ${OV10} ${OV11} ${OV12} \
--- 59,71 ----
  	machdep2.o quota_sys.o subr_prf.o sys_process.o \
  	syscalls.o ufs_mount.o
  OV4=	hk.o init_main.o kern_prot.o tty_pty.o quota_kern.o quota_subr.o \
! 	quota_ufs.o vm_swp.o vm_swap.o vm_proc.o
  OV5=	ht.o tm.o ts.o
  OV6=	tmscp.o tmscpdump.o
  OV7=	rl.o mch_fpsim.o ingreslock.o ufs_disksubr.o
  OV8=	rx.o kern_sysctl.o vm_sched.o vm_text.o
  OV9=	kern_pdp.o kern_xxx.o ufs_syscalls2.o mem.o ufs_subr.o rk.o sys_pipe.o \
! 	kern_sig2.o toy.o subr_log.o
  
  KERNOBJ=${CONF} ${BASE} ${OV1} ${OV2} ${OV3} ${OV4} ${OV5} \
  	${OV6} ${OV7} ${OV8} ${OV9} ${OV10} ${OV11} ${OV12} \
*** /usr/src/sys/conf/Make.nsunix.old	Wed Sep 10 21:08:02 1997
--- /usr/src/sys/conf/Make.nsunix	Fri Nov 28 16:27:26 1997
***************
*** 9,15 ****
  # software without specific prior written permission. This software
  # is provided ``as is'' without express or implied warranty.
  #
! #	2.9	(2.11BSD GTE) 1997/8/29
  #
  #########################################################
  # Networking, separate I/D kernel			#
--- 9,15 ----
  # software without specific prior written permission. This software
  # is provided ``as is'' without express or implied warranty.
  #
! #	2.10	(2.11BSD GTE) 1997/11/28
  #
  #########################################################
  # Networking, separate I/D kernel			#
***************
*** 58,64 ****
  
  BASE=	br.o cons.o dh.o dhu.o dhv.o dr.o dz.o hk.o ht.o init_sysent.o \
  	kern_clock.o kern_descrip.o kern_mman.o kern_proc.o kern_prot.o \
! 	kern_subr.o kern_synch.o lp.o machdep.o ra.o ram.o \
  	rk.o rl.o rx.o si.o subr_rmap.o sys_inode.o sys_kern.o \
  	tm.o ts.o tty.o tty_conf.o tty_subr.o tty_tb.o ufs_alloc.o \
  	ufs_bio.o ufs_fio.o ufs_inode.o ufs_namei.o \
--- 58,64 ----
  
  BASE=	br.o cons.o dh.o dhu.o dhv.o dr.o dz.o hk.o ht.o init_sysent.o \
  	kern_clock.o kern_descrip.o kern_mman.o kern_proc.o kern_prot.o \
! 	kern_prot2.o kern_subr.o kern_synch.o lp.o machdep.o ra.o ram.o \
  	rk.o rl.o rx.o si.o subr_rmap.o sys_inode.o sys_kern.o \
  	tm.o ts.o tty.o tty_conf.o tty_subr.o tty_tb.o ufs_alloc.o \
  	ufs_bio.o ufs_fio.o ufs_inode.o ufs_namei.o \
*** /usr/src/sys/conf/Make.sunix.old	Fri Aug 29 21:43:48 1997
--- /usr/src/sys/conf/Make.sunix	Fri Nov 28 16:42:55 1997
***************
*** 1,4 ****
- OPTS=-DGENERIC -DSOFUB_MAP
  #
  # Copyright (c) 1988 Regents of the University of California.
  # All rights reserved.
--- 1,3 ----
***************
*** 10,16 ****
  # software without specific prior written permission. This software
  # is provided ``as is'' without express or implied warranty.
  #
! #	2.11 (2.11BSD GTE) 1997/8/29
  #
  #########################################################
  # Non-network, but separate I/D kernel			#
--- 9,15 ----
  # software without specific prior written permission. This software
  # is provided ``as is'' without express or implied warranty.
  #
! #	2.12 (2.11BSD GTE) 1997/11/28
  #
  #########################################################
  # Non-network, but separate I/D kernel			#
***************
*** 48,54 ****
  
  BASE=	br.o dh.o dhu.o dhv.o dkbad.o dr.o dz.o init_sysent.o kern_clock.o \
  	kern_descrip.o kern_mman.o kern_proc.o kern_sig.o kern_subr.o \
! 	kern_synch.o lp.o machdep.o ra.o ram.o si.o \
  	subr_rmap.o subr_xxx.o sys_inode.o trap.o tty.o \
  	tty_conf.o tty_subr.o tty_tb.o tty_tty.o ufs_alloc.o ufs_bio.o \
  	ufs_bmap.o ufs_dsort.o ufs_fio.o ufs_inode.o ufs_namei.o \
--- 47,53 ----
  
  BASE=	br.o dh.o dhu.o dhv.o dkbad.o dr.o dz.o init_sysent.o kern_clock.o \
  	kern_descrip.o kern_mman.o kern_proc.o kern_sig.o kern_subr.o \
! 	kern_prot2.o kern_synch.o lp.o machdep.o ra.o ram.o si.o \
  	subr_rmap.o subr_xxx.o sys_inode.o trap.o tty.o \
  	tty_conf.o tty_subr.o tty_tb.o tty_tty.o ufs_alloc.o ufs_bio.o \
  	ufs_bmap.o ufs_dsort.o ufs_fio.o ufs_inode.o ufs_namei.o \
***************
*** 59,71 ****
  	machdep2.o quota_sys.o subr_prf.o sys_process.o \
  	syscalls.o ufs_mount.o
  OV4=	hk.o init_main.o kern_prot.o tty_pty.o quota_kern.o quota_subr.o \
! 	quota_ufs.o subr_log.o vm_swp.o vm_swap.o vm_proc.o toy.o
  OV5=	ht.o tm.o ts.o
  OV6=	tmscp.o tmscpdump.o
  OV7=	rl.o mch_fpsim.o ingreslock.o ufs_disksubr.o
  OV8=	rx.o kern_sysctl.o vm_sched.o vm_text.o
  OV9=	kern_pdp.o kern_xxx.o ufs_syscalls2.o mem.o ufs_subr.o rk.o sys_pipe.o \
! 	kern_sig2.o
  
  KERNOBJ=${CONF} ${BASE} ${OV1} ${OV2} ${OV3} ${OV4} ${OV5} \
  	${OV6} ${OV7} ${OV8} ${OV9} ${OV10} ${OV11} ${OV12} \
--- 58,70 ----
  	machdep2.o quota_sys.o subr_prf.o sys_process.o \
  	syscalls.o ufs_mount.o
  OV4=	hk.o init_main.o kern_prot.o tty_pty.o quota_kern.o quota_subr.o \
! 	quota_ufs.o vm_swp.o vm_swap.o vm_proc.o
  OV5=	ht.o tm.o ts.o
  OV6=	tmscp.o tmscpdump.o
  OV7=	rl.o mch_fpsim.o ingreslock.o ufs_disksubr.o
  OV8=	rx.o kern_sysctl.o vm_sched.o vm_text.o
  OV9=	kern_pdp.o kern_xxx.o ufs_syscalls2.o mem.o ufs_subr.o rk.o sys_pipe.o \
! 	kern_sig2.o toy.o subr_log.o
  
  KERNOBJ=${CONF} ${BASE} ${OV1} ${OV2} ${OV3} ${OV4} ${OV5} \
  	${OV6} ${OV7} ${OV8} ${OV9} ${OV10} ${OV11} ${OV12} \
*** /usr/src/sys/conf/Make.sys.old	Fri Aug 29 19:49:36 1997
--- /usr/src/sys/conf/Make.sys	Fri Nov 28 16:33:05 1997
***************
*** 9,15 ****
  # software without specific prior written permission. This software
  # is provided ``as is'' without express or implied warranty.
  #
! #	2.5 (2.11BSD GTE) 1997/8/29
  #
  S=	../sys
  VPATH=	../sys
--- 9,15 ----
  # software without specific prior written permission. This software
  # is provided ``as is'' without express or implied warranty.
  #
! #	2.6 (2.11BSD GTE) 1997/11/28
  #
  S=	../sys
  VPATH=	../sys
***************
*** 18,23 ****
--- 18,24 ----
  	${S}/kern_clock.c ${S}/kern_descrip.c ${S}/kern_exec.c		\
  	${S}/kern_exit.c ${S}/kern_fork.c ${S}/kern_mman.c		\
  	${S}/kern_proc.c ${S}/kern_prot.c ${S}/kern_resource.c		\
+ 	${S}/kern_prot2.c						\
  	${S}/kern_sig.c ${S}/kern_subr.c ${S}/kern_sysctl.c		\
  	${S}/kern_sig2.c						\
  	${S}/kern_synch.c ${S}/kern_time.c ${S}/kern_xxx.c		\
***************
*** 38,44 ****
  OBJS=	init_main.o init_sysent.o kern_acct.o kern_clock.o		\
  	kern_descrip.o kern_exec.o kern_exit.o kern_fork.o kern_mman.o	\
  	kern_proc.o kern_prot.o kern_resource.o kern_sig.o kern_sysctl.o \
! 	kern_sig2.o							\
  	kern_subr.o kern_synch.o kern_time.o kern_xxx.o quota_sys.o	\
         quota_kern.o quota_ufs.o quota_subr.o subr_log.o subr_prf.o subr_rmap.o \
  	ingreslock.o							\
--- 39,45 ----
  OBJS=	init_main.o init_sysent.o kern_acct.o kern_clock.o		\
  	kern_descrip.o kern_exec.o kern_exit.o kern_fork.o kern_mman.o	\
  	kern_proc.o kern_prot.o kern_resource.o kern_sig.o kern_sysctl.o \
! 	kern_prot2.o kern_sig2.o					\
  	kern_subr.o kern_synch.o kern_time.o kern_xxx.o quota_sys.o	\
         quota_kern.o quota_ufs.o quota_subr.o subr_log.o subr_prf.o subr_rmap.o \
  	ingreslock.o							\
*** /usr/src/sys/conf/Make.unix.old	Fri Aug 29 19:51:50 1997
--- /usr/src/sys/conf/Make.unix	Fri Nov 28 16:28:11 1997
***************
*** 9,15 ****
  # software without specific prior written permission. This software
  # is provided ``as is'' without express or implied warranty.
  #
! #	2.8 (2.11BSD GTE) 1997/8/29
  #
  #########################################################
  # Non-networking, non-separate I/D kernel		#
--- 9,15 ----
  # software without specific prior written permission. This software
  # is provided ``as is'' without express or implied warranty.
  #
! #	2.9 (2.11BSD GTE) 1997/11/28
  #
  #########################################################
  # Non-networking, non-separate I/D kernel		#
***************
*** 52,57 ****
--- 52,58 ----
  	init_main.o init_sysent.o kern_acct.o kern_clock.o kern_descrip.o \
  	kern_exec.o kern_exit.o kern_fork.o kern_mman.o kern_pdp.o \
  	kern_proc.o kern_prot.o kern_resource.o kern_sig.o kern_sig2.o \
+ 	kern_prot2.o \
  	kern_subr.o kern_synch.o kern_time.o kern_xxx.o lp.o machdep.o \
  	machdep2.o mem.o quota_kern.o quota_subr.o quota_sys.o \
  	quota_ufs.o ra.o ram.o rk.o rl.o rx.o si.o subr_prf.o subr_rmap.o \
