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