Module Name: src Committed By: pgoyette Date: Tue Apr 17 23:06:12 UTC 2018
Modified Files: src/doc [pgoyette-compat]: COMPAT-branch-notes src/sys/compat/common [pgoyette-compat]: compat_sysv_mod.c src/sys/modules [pgoyette-compat]: Makefile src/sys/modules/compat_sysv [pgoyette-compat]: Makefile Added Files: src/sys/compat/common [pgoyette-compat]: compat_sysv_10_mod.c compat_sysv_14_mod.c compat_sysv_50_mod.c src/sys/modules/compat_sysv_10 [pgoyette-compat]: Makefile src/sys/modules/compat_sysv_14 [pgoyette-compat]: Makefile src/sys/modules/compat_sysv_50 [pgoyette-compat]: Makefile Log Message: Split the compat_sysv module into several version-specific modules, similar to the compat module. To generate a diff of this commit: cvs rdiff -u -r1.1.2.11 -r1.1.2.12 src/doc/COMPAT-branch-notes cvs rdiff -u -r0 -r1.1.2.1 src/sys/compat/common/compat_sysv_10_mod.c \ src/sys/compat/common/compat_sysv_14_mod.c \ src/sys/compat/common/compat_sysv_50_mod.c cvs rdiff -u -r1.4.10.1 -r1.4.10.2 src/sys/compat/common/compat_sysv_mod.c cvs rdiff -u -r1.202.2.20 -r1.202.2.21 src/sys/modules/Makefile cvs rdiff -u -r1.3.10.4 -r1.3.10.5 src/sys/modules/compat_sysv/Makefile cvs rdiff -u -r0 -r1.1.2.1 src/sys/modules/compat_sysv_10/Makefile cvs rdiff -u -r0 -r1.1.2.1 src/sys/modules/compat_sysv_14/Makefile cvs rdiff -u -r0 -r1.1.2.1 src/sys/modules/compat_sysv_50/Makefile 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.11 src/doc/COMPAT-branch-notes:1.1.2.12 --- src/doc/COMPAT-branch-notes:1.1.2.11 Tue Apr 17 06:20:26 2018 +++ src/doc/COMPAT-branch-notes Tue Apr 17 23:06:11 2018 @@ -37,6 +37,9 @@ DONE is still available, and uses the alias mechanism to "advertise" that the component modules are available. + Similarly, the compat_sysv module has also been split into several + version-specific modules. + There are still several areas which are not complete - see the TODO list below for more details. @@ -47,46 +50,43 @@ TODO COMPAT_xx. When found, move the actual compat code into the compat hierarchy and replace originals with indirect (vectored) calls. -2. Similar to the monolithic netbsd module, split the compat_sysv - module into multiple version-specific modules. - -3. Update syscalls.master to reflect that modular syscalls are now +2. Update syscalls.master to reflect that modular syscalls are now provided by version-specific modules. -4. The rtsock compat code is a disaster, with rtsock_50.c #include-ing +3. The rtsock compat code is a disaster, with rtsock_50.c #include-ing the main rtsock.c code with various manipulations of the COMPAT_50 macro. -5. The compat_60 module still needs some work for XEN systems. We +4. The compat_60 module still needs some work for XEN systems. We probably need some build infrastructure changes to ensure that XEN (and, for i386, XEN-PAE) modules are build with the correct macros defined and with -I directories specified in the same order as for building kernels. -6. Update syscalls.master to point the compat calls at the specific +5. Update syscalls.master to point the compat calls at the specific modules rather than the monolithic compat module. Update the "required" lists of other modules, too. -7. The rtsock compatability code needs to be de-spaghetti'd and made +6. The rtsock compatability code needs to be de-spaghetti'd and made separable into rtsock_70 and rtsock_50 pieces. 8. Once rtsock is separated, compat_14 references to rtsock_50 routines needs to be verified. -9. For compat_60, still need to figure out what to do with BSDPTY and +8. For compat_60, still need to figure out what to do with BSDPTY and tty_ptm -10. Also for compat_60, need to fix the building of XEN (and, for i386, +9. Also for compat_60, need to fix the building of XEN (and, for i386, XEN-PAE) module variants so that the obj-dir symlinks and the -I include order match those present in a kernel build. See PR/53130 (Currently, this affects the compat_60 module and its implementation of microcode updates for AMD processors - i386 and amd64.) -11. For compat_50, in addition to rtsock there are some things in dev/vnd, +10. For compat_50, in addition to rtsock there are some things in dev/vnd, dev/gpio, and dev/wscons/wsmux that I haven't been able to cleanly separate. -12. There seems to be quite a bit of MD compat_xx code, in the various +11. There seems to be quite a bit of MD compat_xx code, in the various sys/arch/ directories. I haven't yet looked at any of this. But it seems to me that the MI compat build infrastructure should have some mechanism to "reach over" to the MD code, #include a Makefile.inc file, Index: src/sys/compat/common/compat_sysv_mod.c diff -u src/sys/compat/common/compat_sysv_mod.c:1.4.10.1 src/sys/compat/common/compat_sysv_mod.c:1.4.10.2 --- src/sys/compat/common/compat_sysv_mod.c:1.4.10.1 Tue Apr 17 21:59:27 2018 +++ src/sys/compat/common/compat_sysv_mod.c Tue Apr 17 23:06:11 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sysv_mod.c,v 1.4.10.1 2018/04/17 21:59:27 pgoyette Exp $ */ +/* $NetBSD: compat_sysv_mod.c,v 1.4.10.2 2018/04/17 23:06:11 pgoyette Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: compat_sysv_mod.c,v 1.4.10.1 2018/04/17 21:59:27 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: compat_sysv_mod.c,v 1.4.10.2 2018/04/17 23:06:11 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -46,11 +46,16 @@ __KERNEL_RCSID(0, "$NetBSD: compat_sysv_ #include <compat/common/compat_sysv_mod.h> -MODULE(MODULE_CLASS_EXEC, compat_sysv, "sysv_ipc"); +static const char * const compat_sysv_includes[] = { + "compat_sysv_50", "compat_14", "compat_10", NULL +}; + +MODULE_WITH_ALIASES(MODULE_CLASS_EXEC, compat_sysv, "sysv_ipc", + &compat_sysv_includes); /* Build the syscall package based on options specified */ -static const struct syscall_package compat_syscalls[] = { +static const struct syscall_package compat_sysv_syscalls[] = { #if defined(COMPAT_10) && !defined(_LP64) #ifdef SYSVSHM { SYS_compat_10_oshmsys, 0, (sy_call_t *)compat_10_sys_shmsys }, @@ -99,7 +104,7 @@ compat_sysv_modcmd(modcmd_t cmd, void *a switch (cmd) { case MODULE_CMD_INIT: - error = syscall_establish(NULL, compat_syscalls); + error = syscall_establish(NULL, compat_sysv_syscalls); if (error != 0) { break; } @@ -113,7 +118,7 @@ compat_sysv_modcmd(modcmd_t cmd, void *a #if defined(COMPAT_50) vec_sysvipc50_sysctl = orig_sysvipc50_sysctl; #endif - error = syscall_disestablish(NULL, compat_syscalls); + error = syscall_disestablish(NULL, compat_sysv_syscalls); if (error != 0) { break; } Index: src/sys/modules/Makefile diff -u src/sys/modules/Makefile:1.202.2.20 src/sys/modules/Makefile:1.202.2.21 --- src/sys/modules/Makefile:1.202.2.20 Tue Apr 17 08:02:35 2018 +++ src/sys/modules/Makefile Tue Apr 17 23:06:11 2018 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.202.2.20 2018/04/17 08:02:35 pgoyette Exp $ +# $NetBSD: Makefile,v 1.202.2.21 2018/04/17 23:06:11 pgoyette Exp $ .include <bsd.own.mk> @@ -12,8 +12,7 @@ SUBDIR+= compat_09 compat_10 compat_ SUBDIR+= compat_16 compat_20 compat_30 compat_40 compat_50 SUBDIR+= compat_60 compat_70 compat_80 -SUBDIR+= compat_ossaudio -SUBDIR+= compat_sysv +SUBDIR+= compat_sysv compat_sysv_10 compat_sysv_14 compat_sysv_50 SUBDIR+= accf_dataready SUBDIR+= accf_httpready @@ -35,6 +34,7 @@ SUBDIR+= cd9660 SUBDIR+= cgd SUBDIR+= chfs SUBDIR+= clockctl +SUBDIR+= compat_ossaudio SUBDIR+= crypto SUBDIR+= coda SUBDIR+= coda5 Index: src/sys/modules/compat_sysv/Makefile diff -u src/sys/modules/compat_sysv/Makefile:1.3.10.4 src/sys/modules/compat_sysv/Makefile:1.3.10.5 --- src/sys/modules/compat_sysv/Makefile:1.3.10.4 Sat Mar 10 02:18:56 2018 +++ src/sys/modules/compat_sysv/Makefile Tue Apr 17 23:06:11 2018 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.3.10.4 2018/03/10 02:18:56 pgoyette Exp $ +# $NetBSD: Makefile,v 1.3.10.5 2018/04/17 23:06:11 pgoyette Exp $ .include "../Makefile.inc" @@ -15,7 +15,7 @@ CPPFLAGS+= -DCOMPAT_13 CPPFLAGS+= -DCOMPAT_14 CPPFLAGS+= -DCOMPAT_50 -SRCS+= sysv_mod.c +SRCS+= compat_sysv_mod.c SRCS+= kern_ipc_10.c sysv_ipc_50.c SRCS+= sysv_msg_14.c sysv_sem_14.c sysv_shm_14.c SRCS+= sysv_msg_50.c sysv_sem_50.c sysv_shm_50.c Added files: Index: src/sys/compat/common/compat_sysv_10_mod.c diff -u /dev/null src/sys/compat/common/compat_sysv_10_mod.c:1.1.2.1 --- /dev/null Tue Apr 17 23:06:12 2018 +++ src/sys/compat/common/compat_sysv_10_mod.c Tue Apr 17 23:06:11 2018 @@ -0,0 +1,92 @@ +/* $NetBSD: compat_sysv_10_mod.c,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $ */ + +/*- + * Copyright (c) 2018 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software developed for The NetBSD Foundation + * by Paul Goyette + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include <sys/cdefs.h> +__KERNEL_RCSID(0, "$NetBSD: compat_sysv_10_mod.c,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $"); + +#ifdef _KERNEL_OPT +#include "opt_compat_netbsd.h" +#include "opt_sysv.h" +#endif + +#include <sys/systm.h> +#include <sys/module.h> +#include <sys/syscall.h> +#include <sys/syscallargs.h> +#include <sys/syscallvar.h> +#include <sys/sysctl.h> + +MODULE(MODULE_CLASS_EXEC, compat_sysv_10, "sysv_ipc,sysv_50,sysv_14"); + +/* Build the syscall package based on options specified */ + +static const struct syscall_package compat_sysv_10_syscalls[] = { +#if !defined(_LP64) +#ifdef SYSVSHM + { SYS_compat_10_oshmsys, 0, (sy_call_t *)compat_10_sys_shmsys }, +#endif +#ifdef SYSVSEM + { SYS_compat_10_osemsys, 0, (sy_call_t *)compat_10_sys_semsys }, +#endif +#ifdef SYSVMSG + { SYS_compat_10_omsgsys, 0, (sy_call_t *)compat_10_sys_msgsys }, +#endif +#endif /* !defined(_LP64) */ + { 0, 0, NULL } +}; + +static int +compat_sysv_10_modcmd(modcmd_t cmd, void *arg) +{ + + int error = 0; + + switch (cmd) { + case MODULE_CMD_INIT: + error = syscall_establish(NULL, compat_sysv_10_syscalls); + if (error != 0) { + break; + } + break; + + case MODULE_CMD_FINI: + error = syscall_disestablish(NULL, compat_sysv_10_syscalls); + if (error != 0) { + break; + } + break; + + default: + error = ENOTTY; + break; + } + return error; +} Index: src/sys/compat/common/compat_sysv_14_mod.c diff -u /dev/null src/sys/compat/common/compat_sysv_14_mod.c:1.1.2.1 --- /dev/null Tue Apr 17 23:06:12 2018 +++ src/sys/compat/common/compat_sysv_14_mod.c Tue Apr 17 23:06:11 2018 @@ -0,0 +1,90 @@ +/* $NetBSD: compat_sysv_14_mod.c,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $ */ + +/*- + * Copyright (c) 2018 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software developed for The NetBSD Foundation + * by Paul Goyette + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include <sys/cdefs.h> +__KERNEL_RCSID(0, "$NetBSD: compat_sysv_14_mod.c,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $"); + +#ifdef _KERNEL_OPT +#include "opt_compat_netbsd.h" +#include "opt_sysv.h" +#endif + +#include <sys/systm.h> +#include <sys/module.h> +#include <sys/syscall.h> +#include <sys/syscallargs.h> +#include <sys/syscallvar.h> +#include <sys/sysctl.h> + +MODULE(MODULE_CLASS_EXEC, compat_sysv_14, "sysv_ipc_50,sysv_ipc"); + +/* Build the syscall package based on options specified */ + +static const struct syscall_package compat_sysv_14_syscalls[] = { +#ifdef SYSVSHM + { SYS_compat_14_shmctl, 0, (sy_call_t *)compat_14_sys_shmctl }, +#endif +#ifdef SYSVSEM + { SYS_compat_14___semctl, 0, (sy_call_t *)compat_14_sys___semctl }, +#endif +#ifdef SYSVMSG + { SYS_compat_14_msgctl, 0, (sy_call_t *)compat_14_sys_msgctl }, +#endif + { 0, 0, NULL } +}; + +static int +compat_sysv_14_modcmd(modcmd_t cmd, void *arg) +{ + + int error = 0; + + switch (cmd) { + case MODULE_CMD_INIT: + error = syscall_establish(NULL, compat_sysv_14_syscalls); + if (error != 0) { + break; + } + break; + + case MODULE_CMD_FINI: + error = syscall_disestablish(NULL, compat_sysv_14_syscalls); + if (error != 0) { + break; + } + break; + + default: + error = ENOTTY; + break; + } + return error; +} Index: src/sys/compat/common/compat_sysv_50_mod.c diff -u /dev/null src/sys/compat/common/compat_sysv_50_mod.c:1.1.2.1 --- /dev/null Tue Apr 17 23:06:12 2018 +++ src/sys/compat/common/compat_sysv_50_mod.c Tue Apr 17 23:06:11 2018 @@ -0,0 +1,96 @@ +/* $NetBSD: compat_sysv_50_mod.c,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $ */ + +/*- + * Copyright (c) 2018 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software developed for The NetBSD Foundation + * by Paul Goyette + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include <sys/cdefs.h> +__KERNEL_RCSID(0, "$NetBSD: compat_sysv_50_mod.c,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $"); + +#ifdef _KERNEL_OPT +#include "opt_compat_netbsd.h" +#include "opt_sysv.h" +#endif + +#include <sys/systm.h> +#include <sys/module.h> +#include <sys/syscall.h> +#include <sys/syscallargs.h> +#include <sys/syscallvar.h> +#include <sys/sysctl.h> + +#include <compat/common/compat_sysv_mod.h> + +MODULE(MODULE_CLASS_EXEC, compat_sysv_50, "sysv_ipc"); + +/* Build the syscall package based on options specified */ + +static const struct syscall_package compat_sysv_50_syscalls[] = { +#ifdef SYSVSHM + { SYS_compat_50___shmctl13, 0, (sy_call_t *)compat_50_sys___shmctl13 }, +#endif +#ifdef SYSVSEM + { SYS_compat_50_____semctl13, 0, (sy_call_t *)compat_50_sys_____semctl13 }, +#endif +#ifdef SYSVMSG + { SYS_compat_50___msgctl13, 0, (sy_call_t *)compat_50_sys___msgctl13 }, +#endif + { 0, 0, NULL } +}; + +static int +compat_sysv_50_modcmd(modcmd_t cmd, void *arg) +{ + static int (*orig_sysvipc50_sysctl)(SYSCTLFN_PROTO); + + int error = 0; + + switch (cmd) { + case MODULE_CMD_INIT: + error = syscall_establish(NULL, compat_sysv_50_syscalls); + if (error != 0) { + break; + } + orig_sysvipc50_sysctl = vec_sysvipc50_sysctl; + vec_sysvipc50_sysctl = sysctl_kern_sysvipc50; + break; + + case MODULE_CMD_FINI: + vec_sysvipc50_sysctl = orig_sysvipc50_sysctl; + error = syscall_disestablish(NULL, compat_sysv_50_syscalls); + if (error != 0) { + break; + } + break; + + default: + error = ENOTTY; + break; + } + return error; +} Index: src/sys/modules/compat_sysv_10/Makefile diff -u /dev/null src/sys/modules/compat_sysv_10/Makefile:1.1.2.1 --- /dev/null Tue Apr 17 23:06:12 2018 +++ src/sys/modules/compat_sysv_10/Makefile Tue Apr 17 23:06:11 2018 @@ -0,0 +1,21 @@ +# $NetBSD: Makefile,v 1.1.2.1 2018/04/17 23:06:11 pgoyette Exp $ + +.include "../Makefile.inc" + +.PATH: ${S}/kern + +KMOD= compat_sysv_10 + +CPPFLAGS+= -DSYSVSEM -DSYSVSHM -DSYSVMSG + +.PATH: ${S}/compat/common + +CPPFLAGS+= -DCOMPAT_10 +CPPFLAGS+= -DCOMPAT_13 +CPPFLAGS+= -DCOMPAT_14 +CPPFLAGS+= -DCOMPAT_50 + +SRCS+= compat_sysv_10_mod.c +SRCS+= kern_ipc_10.c + +.include <bsd.kmodule.mk> Index: src/sys/modules/compat_sysv_14/Makefile diff -u /dev/null src/sys/modules/compat_sysv_14/Makefile:1.1.2.1 --- /dev/null Tue Apr 17 23:06:12 2018 +++ src/sys/modules/compat_sysv_14/Makefile Tue Apr 17 23:06:12 2018 @@ -0,0 +1,19 @@ +# $NetBSD: Makefile,v 1.1.2.1 2018/04/17 23:06:12 pgoyette Exp $ + +.include "../Makefile.inc" + +.PATH: ${S}/kern + +KMOD= compat_sysv_14 + +CPPFLAGS+= -DSYSVSEM -DSYSVSHM -DSYSVMSG + +.PATH: ${S}/compat/common + +CPPFLAGS+= -DCOMPAT_14 +CPPFLAGS+= -DCOMPAT_50 + +SRCS+= compat_sysv_14_mod.c +SRCS+= sysv_msg_14.c sysv_sem_14.c sysv_shm_14.c + +.include <bsd.kmodule.mk> Index: src/sys/modules/compat_sysv_50/Makefile diff -u /dev/null src/sys/modules/compat_sysv_50/Makefile:1.1.2.1 --- /dev/null Tue Apr 17 23:06:12 2018 +++ src/sys/modules/compat_sysv_50/Makefile Tue Apr 17 23:06:12 2018 @@ -0,0 +1,18 @@ +# $NetBSD: Makefile,v 1.1.2.1 2018/04/17 23:06:12 pgoyette Exp $ + +.include "../Makefile.inc" + +.PATH: ${S}/kern + +KMOD= compat_sysv_50 + +CPPFLAGS+= -DSYSVSEM -DSYSVSHM -DSYSVMSG + +.PATH: ${S}/compat/common + +CPPFLAGS+= -DCOMPAT_50 + +SRCS+= compat_sysv_50_mod.c +SRCS+= sysv_ipc_50.c sysv_msg_50.c sysv_sem_50.c sysv_shm_50.c + +.include <bsd.kmodule.mk>