Module Name:    src
Committed By:   pgoyette
Date:           Mon Mar 12 01:59:32 UTC 2018

Modified Files:
        src/doc [pgoyette-compat]: COMPAT-branch-notes
        src/sys/compat/aoutm68k [pgoyette-compat]: files.aoutm68k
        src/sys/compat/common [pgoyette-compat]: files.common
        src/sys/compat/freebsd [pgoyette-compat]: files.freebsd
        src/sys/compat/ibcs2 [pgoyette-compat]: files.ibcs2
        src/sys/compat/linux [pgoyette-compat]: files.linux
        src/sys/compat/linux32 [pgoyette-compat]: files.linux32
        src/sys/compat/sunos [pgoyette-compat]: files.sunos
        src/sys/compat/sunos32 [pgoyette-compat]: files.sunos32
        src/sys/compat/svr4 [pgoyette-compat]: files.svr4
        src/sys/compat/svr4_32 [pgoyette-compat]: files.svr4_32
        src/sys/compat/ultrix [pgoyette-compat]: files.ultrix

Log Message:
Update dependencies for modules when they are built-in.  Now we don't
(or at least, shouldn't) need reminders in the GENERIC config files
about which module options require other options.

Update branch status doc accordingly.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/doc/COMPAT-branch-notes
cvs rdiff -u -r1.7 -r1.7.18.1 src/sys/compat/aoutm68k/files.aoutm68k
cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/sys/compat/common/files.common
cvs rdiff -u -r1.15 -r1.15.2.1 src/sys/compat/freebsd/files.freebsd
cvs rdiff -u -r1.10 -r1.10.18.1 src/sys/compat/ibcs2/files.ibcs2
cvs rdiff -u -r1.21 -r1.21.18.1 src/sys/compat/linux/files.linux
cvs rdiff -u -r1.6 -r1.6.18.1 src/sys/compat/linux32/files.linux32
cvs rdiff -u -r1.9 -r1.9.18.1 src/sys/compat/sunos/files.sunos
cvs rdiff -u -r1.3 -r1.3.18.1 src/sys/compat/sunos32/files.sunos32
cvs rdiff -u -r1.18 -r1.18.18.1 src/sys/compat/svr4/files.svr4
cvs rdiff -u -r1.6 -r1.6.18.1 src/sys/compat/svr4_32/files.svr4_32
cvs rdiff -u -r1.6 -r1.6.18.1 src/sys/compat/ultrix/files.ultrix

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

Modified files:

Index: src/doc/COMPAT-branch-notes
diff -u src/doc/COMPAT-branch-notes:1.1.2.2 src/doc/COMPAT-branch-notes:1.1.2.3
--- src/doc/COMPAT-branch-notes:1.1.2.2	Sun Mar 11 09:34:59 2018
+++ src/doc/COMPAT-branch-notes	Mon Mar 12 01:59:31 2018
@@ -17,6 +17,16 @@ DONE
 5. Extracted some net/if.c compat routines into the compat module, and
    replaced the originals with indirect (vectored) function calls.
 
+6. Implemented a mechanism for modules to include "aliases", allowing
+   a single module file to declare multiple names.  For example, a
+   single "compat" module could declare compat_80, compat_70, etc, and
+   other modules could depend on specific compat levels rather than on
+   the entirety of compat.
+
+7. Reconfirmed all compat-module dependencies, and update the files *
+   def lines as needed, to insure that built-in dependencies get
+   resolved.
+
 
 TODO
 ----
@@ -35,15 +45,9 @@ TODO
    "everything" compat module (with all of its aliases) or by a 7.0-
    specific module.
 
-   Note that in addition to updating the module code, this would also
-   require changes to syscalls.master files to change the names of the
-   modules associated with module-provided syscalls.
-
-3. In addition to the single, all-encompassing compat module, provide a
-   per-version compat_xx module, each with dependencies on all higher
-   versions.  (Perhaps we would also do this for the sysv ipc module,
-   although the gains are a lot smaller.)
+2. Using the alias mechanism, split compat (and perhaps compat_sysv)
+   into multiple version-specific modules.  Note that in addition to
+   updating the module code, this would also require changes to
+   syscalls.master files to change the names of the modules associated
+   with module-provided syscalls.
 
-4. Reconfirm all compat-module dependencies, and update the files *
-   def lines as needed, to insure that built-in dependencies get
-   resolved.

Index: src/sys/compat/aoutm68k/files.aoutm68k
diff -u src/sys/compat/aoutm68k/files.aoutm68k:1.7 src/sys/compat/aoutm68k/files.aoutm68k:1.7.18.1
--- src/sys/compat/aoutm68k/files.aoutm68k:1.7	Mon Nov 17 01:01:57 2014
+++ src/sys/compat/aoutm68k/files.aoutm68k	Mon Mar 12 01:59:31 2018
@@ -1,11 +1,11 @@
-#	$NetBSD: files.aoutm68k,v 1.7 2014/11/17 01:01:57 uebayasi Exp $
+#	$NetBSD: files.aoutm68k,v 1.7.18.1 2018/03/12 01:59:31 pgoyette Exp $
 #
 # Config file description for m68k a.out compat code.
 
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define	compat_aout_m68k
+define	compat_aout_m68k : exec_aout
 file	compat/aoutm68k/aoutm68k_exec.c		compat_aout_m68k
 file	compat/aoutm68k/aoutm68k_stat.c		compat_aout_m68k
 file	compat/aoutm68k/aoutm68k_sysent.c	compat_aout_m68k

Index: src/sys/compat/common/files.common
diff -u src/sys/compat/common/files.common:1.1.2.5 src/sys/compat/common/files.common:1.1.2.6
--- src/sys/compat/common/files.common:1.1.2.5	Fri Mar  9 02:02:59 2018
+++ src/sys/compat/common/files.common	Mon Mar 12 01:59:31 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.common,v 1.1.2.5 2018/03/09 02:02:59 pgoyette Exp $
+#	$NetBSD: files.common,v 1.1.2.6 2018/03/12 01:59:31 pgoyette Exp $
 
 #
 # Generic files, used by all compat options.
@@ -75,19 +75,20 @@ file	compat/common/uipc_usrreq_70.c		com
 
 # Module interface for sysv ipc compatability options
 
-file	compat/common/sysv_mod.c		compat_netbsd
+define	compat_sysv			: sysvmsg, sysvshm, sysvsem
+file	compat/common/sysv_mod.c		compat_sysv
 
 # Compatibility code for NetBSD 1.0
-file	compat/common/kern_ipc_10.c		compat_netbsd
+file	compat/common/kern_ipc_10.c		compat_sysv
 
 # Compatibility code for NetBSD 1.4
-file	compat/common/sysv_msg_14.c		compat_netbsd
-file	compat/common/sysv_sem_14.c		compat_netbsd
-file	compat/common/sysv_shm_14.c		compat_netbsd
+file	compat/common/sysv_msg_14.c		compat_sysv
+file	compat/common/sysv_sem_14.c		compat_sysv
+file	compat/common/sysv_shm_14.c		compat_sysv
 
 # Compatibility code for NetBSD 5.0
-file	compat/common/sysv_ipc_50.c		compat_netbsd
-file	compat/common/sysv_msg_50.c		compat_netbsd
-file	compat/common/sysv_sem_50.c		compat_netbsd
-file	compat/common/sysv_shm_50.c		compat_netbsd
+file	compat/common/sysv_ipc_50.c		compat_sysv
+file	compat/common/sysv_msg_50.c		compat_sysv
+file	compat/common/sysv_sem_50.c		compat_sysv
+file	compat/common/sysv_shm_50.c		compat_sysv
 

Index: src/sys/compat/freebsd/files.freebsd
diff -u src/sys/compat/freebsd/files.freebsd:1.15 src/sys/compat/freebsd/files.freebsd:1.15.2.1
--- src/sys/compat/freebsd/files.freebsd:1.15	Tue Aug  1 14:43:54 2017
+++ src/sys/compat/freebsd/files.freebsd	Mon Mar 12 01:59:31 2018
@@ -1,9 +1,9 @@
-#	$NetBSD: files.freebsd,v 1.15 2017/08/01 14:43:54 maxv Exp $
+#	$NetBSD: files.freebsd,v 1.15.2.1 2018/03/12 01:59:31 pgoyette Exp $
 #
 # Config file description for machine-independent FreeBSD compat code.
 # Included by ports that need it. Only i386 is supported.
 
-define	compat_freebsd
+define	compat_freebsd		: compat_netbsd, compat_ossaudio
 file	compat/freebsd/freebsd_exec.c		compat_freebsd
 file	compat/freebsd/freebsd_exec_elf32.c	compat_freebsd & exec_elf32
 file	compat/freebsd/freebsd_file.c		compat_freebsd

Index: src/sys/compat/ibcs2/files.ibcs2
diff -u src/sys/compat/ibcs2/files.ibcs2:1.10 src/sys/compat/ibcs2/files.ibcs2:1.10.18.1
--- src/sys/compat/ibcs2/files.ibcs2:1.10	Mon Nov 17 01:01:57 2014
+++ src/sys/compat/ibcs2/files.ibcs2	Mon Mar 12 01:59:32 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.ibcs2,v 1.10 2014/11/17 01:01:57 uebayasi Exp $
+#	$NetBSD: files.ibcs2,v 1.10.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent IBCS-2 compat code.
 # Included by ports that need it.
@@ -6,7 +6,7 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define	compat_ibcs2
+define	compat_ibcs2		: compat_netbsd
 file	compat/ibcs2/ibcs2_errno.c	compat_ibcs2
 file	compat/ibcs2/ibcs2_exec.c	compat_ibcs2
 file	compat/ibcs2/ibcs2_exec_coff.c	compat_ibcs2

Index: src/sys/compat/linux/files.linux
diff -u src/sys/compat/linux/files.linux:1.21 src/sys/compat/linux/files.linux:1.21.18.1
--- src/sys/compat/linux/files.linux:1.21	Mon Nov 17 01:01:57 2014
+++ src/sys/compat/linux/files.linux	Mon Mar 12 01:59:32 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.linux,v 1.21 2014/11/17 01:01:57 uebayasi Exp $
+#	$NetBSD: files.linux,v 1.21.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent Linux compat code.
 # Included by ports that need it.
@@ -6,7 +6,7 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define	compat_linux
+define	compat_linux		: compat, compat_ossaudio, sysv_ipc
 file	compat/linux/common/linux_blkio.c	compat_linux
 file	compat/linux/common/linux_cdrom.c	compat_linux
 file	compat/linux/common/linux_errno.c	compat_linux

Index: src/sys/compat/linux32/files.linux32
diff -u src/sys/compat/linux32/files.linux32:1.6 src/sys/compat/linux32/files.linux32:1.6.18.1
--- src/sys/compat/linux32/files.linux32:1.6	Mon Nov 17 01:01:57 2014
+++ src/sys/compat/linux32/files.linux32	Mon Mar 12 01:59:32 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.linux32,v 1.6 2014/11/17 01:01:57 uebayasi Exp $
+#	$NetBSD: files.linux32,v 1.6.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent Linux 32 bit compat code.
 # Included by ports that need it.
@@ -6,7 +6,9 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define	compat_linux32
+define	compat_linux32		: exec_elf32, compat_netbsd32,
+				  compat_netbsd32_sysv_ipc, compat_linux,
+				  compat_sysv
 file	compat/linux32/common/linux32_dirent.c	compat_linux32
 file	compat/linux32/common/linux32_exec.c	compat_linux32
 file	compat/linux32/common/linux32_exec_elf32.c compat_linux32 & exec_elf32

Index: src/sys/compat/sunos/files.sunos
diff -u src/sys/compat/sunos/files.sunos:1.9 src/sys/compat/sunos/files.sunos:1.9.18.1
--- src/sys/compat/sunos/files.sunos:1.9	Mon Nov 17 01:01:58 2014
+++ src/sys/compat/sunos/files.sunos	Mon Mar 12 01:59:32 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.sunos,v 1.9 2014/11/17 01:01:58 uebayasi Exp $
+#	$NetBSD: files.sunos,v 1.9.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent SunOS compat code.
 # Included by ports that need it.
@@ -6,7 +6,7 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define	compat_sunos
+define	compat_sunos		: compat_netbsd,exec_aout
 file	compat/sunos/sunos_exec.c	compat_sunos & !compat_netbsd32
 file	compat/sunos/sunos_exec_aout.c	compat_sunos & exec_aout & !compat_netbsd32
 file	compat/sunos/sunos_sysent.c	compat_sunos & !compat_netbsd32

Index: src/sys/compat/sunos32/files.sunos32
diff -u src/sys/compat/sunos32/files.sunos32:1.3 src/sys/compat/sunos32/files.sunos32:1.3.18.1
--- src/sys/compat/sunos32/files.sunos32:1.3	Mon Nov 17 01:01:58 2014
+++ src/sys/compat/sunos32/files.sunos32	Mon Mar 12 01:59:32 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.sunos32,v 1.3 2014/11/17 01:01:58 uebayasi Exp $
+#	$NetBSD: files.sunos32,v 1.3.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent SunOS compat code for
 # 64-bit kernel.  Included by ports that need it.
@@ -7,7 +7,7 @@
 # own file lists.
 
 # XXX compat_sunos32
-define	compat_sunos
+define	compat_sunos		: compat_netbsd, compat_netbsd32, exec_aout
 file	compat/sunos32/sunos32_exec.c		compat_sunos & compat_netbsd32
 file	compat/sunos32/sunos32_exec_aout.c	compat_sunos & compat_netbsd32
 file	compat/sunos32/sunos32_misc.c		compat_sunos & compat_netbsd32

Index: src/sys/compat/svr4/files.svr4
diff -u src/sys/compat/svr4/files.svr4:1.18 src/sys/compat/svr4/files.svr4:1.18.18.1
--- src/sys/compat/svr4/files.svr4:1.18	Mon Nov 17 01:01:58 2014
+++ src/sys/compat/svr4/files.svr4	Mon Mar 12 01:59:32 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.svr4,v 1.18 2014/11/17 01:01:58 uebayasi Exp $
+#	$NetBSD: files.svr4,v 1.18.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent SVR4 compat code.
 # Included by ports that need it.
@@ -6,7 +6,7 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define	compat_svr4
+define	compat_svr4		: compat_netbsd
 file	compat/svr4/svr4_errno.c	compat_svr4 | compat_svr4_32
 file	compat/svr4/svr4_exec.c		compat_svr4
 file	compat/svr4/svr4_exec_elf32.c	compat_svr4 & exec_elf32

Index: src/sys/compat/svr4_32/files.svr4_32
diff -u src/sys/compat/svr4_32/files.svr4_32:1.6 src/sys/compat/svr4_32/files.svr4_32:1.6.18.1
--- src/sys/compat/svr4_32/files.svr4_32:1.6	Mon Nov 17 01:01:58 2014
+++ src/sys/compat/svr4_32/files.svr4_32	Mon Mar 12 01:59:32 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.svr4_32,v 1.6 2014/11/17 01:01:58 uebayasi Exp $
+#	$NetBSD: files.svr4_32,v 1.6.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent SVR4_32 compat code.
 # Included by ports that need it.
@@ -6,7 +6,7 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define	compat_svr4_32
+define	compat_svr4_32		: compat_netbsd, compat_netbsd32
 file	compat/svr4_32/svr4_32_exec.c		compat_svr4_32
 file	compat/svr4_32/svr4_32_exec_elf32.c	compat_svr4_32 & exec_elf32
 file	compat/svr4_32/svr4_32_fcntl.c		compat_svr4_32

Index: src/sys/compat/ultrix/files.ultrix
diff -u src/sys/compat/ultrix/files.ultrix:1.6 src/sys/compat/ultrix/files.ultrix:1.6.18.1
--- src/sys/compat/ultrix/files.ultrix:1.6	Mon Nov 17 01:01:58 2014
+++ src/sys/compat/ultrix/files.ultrix	Mon Mar 12 01:59:32 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: files.ultrix,v 1.6 2014/11/17 01:01:58 uebayasi Exp $
+#	$NetBSD: files.ultrix,v 1.6.18.1 2018/03/12 01:59:32 pgoyette Exp $
 #
 # Config file description for machine-independent Ultrix compat code.
 # Included by ports that need it.
@@ -6,7 +6,7 @@
 # ports should define any machine-specific files they need in their
 # own file lists.
 
-define	compat_ultrix
+define	compat_ultrix		: compat_netbsd
 file	compat/ultrix/ultrix_exec_ecoff.c	compat_ultrix & exec_ecoff
 file	compat/ultrix/ultrix_pathname.c		compat_ultrix
 file	compat/ultrix/ultrix_ioctl.c		compat_ultrix

Reply via email to