Module Name: src Committed By: pgoyette Date: Mon May 11 10:32:13 UTC 2015
Modified Files: src/sys/compat/common: compat_mod.c compat_sysv_mod.c Log Message: Fix the #ifdef _MODULE stuff so that the syscall packages and sysctl stuff gets handled properly even in built-in module case. XXX Whatever was I thinking when I put those conditionals in? And wouldn't it be a wonderful thing to have some atf regression tests to actually catch errors in the compat{,_sysv} modules? :) To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/compat/common/compat_mod.c cvs rdiff -u -r1.1 -r1.2 src/sys/compat/common/compat_sysv_mod.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/compat/common/compat_mod.c diff -u src/sys/compat/common/compat_mod.c:1.21 src/sys/compat/common/compat_mod.c:1.22 --- src/sys/compat/common/compat_mod.c:1.21 Sun May 10 07:41:15 2015 +++ src/sys/compat/common/compat_mod.c Mon May 11 10:32:13 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_mod.c,v 1.21 2015/05/10 07:41:15 pgoyette Exp $ */ +/* $NetBSD: compat_mod.c,v 1.22 2015/05/11 10:32:13 pgoyette Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: compat_mod.c,v 1.21 2015/05/10 07:41:15 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: compat_mod.c,v 1.22 2015/05/11 10:32:13 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -60,17 +60,15 @@ __KERNEL_RCSID(0, "$NetBSD: compat_mod.c #include <compat/common/compat_util.h> #include <compat/common/compat_mod.h> -#ifdef _MODULE #if defined(COMPAT_09) || defined(COMPAT_43) || defined(COMPAT_50) static struct sysctllog *compat_clog = NULL; #endif -#endif MODULE(MODULE_CLASS_EXEC, compat, NULL); -#ifdef _MODULE int ttcompat(struct tty *, u_long, void *, int, struct lwp *); +#ifdef _MODULE #ifdef COMPAT_16 #if !defined(__amd64__) || defined(COMPAT_NETBSD32) #define COMPAT_SIGCONTEXT @@ -78,6 +76,7 @@ extern char sigcode[], esigcode[]; struct uvm_object *emul_netbsd_object; #endif #endif +#endif /* _MODULE */ extern krwlock_t exec_lock; extern krwlock_t ttcompat_lock; @@ -230,12 +229,10 @@ static const struct syscall_package comp #endif { 0, 0, NULL }, }; -#endif /* _MODULE */ static int compat_modcmd(modcmd_t cmd, void *arg) { -#ifdef _MODULE #ifdef COMPAT_16 proc_t *p; #endif @@ -326,18 +323,8 @@ compat_modcmd(modcmd_t cmd, void *arg) default: return ENOTTY; } -#else /* _MODULE */ - switch (cmd) { - case MODULE_CMD_INIT: - case MODULE_CMD_FINI: - return 0; - default: - return ENOTTY; - } -#endif } -#ifdef _MODULE void compat_sysctl_init(void) { @@ -358,4 +345,3 @@ compat_sysctl_fini(void) sysctl_teardown(&compat_clog); #endif } -#endif Index: src/sys/compat/common/compat_sysv_mod.c diff -u src/sys/compat/common/compat_sysv_mod.c:1.1 src/sys/compat/common/compat_sysv_mod.c:1.2 --- src/sys/compat/common/compat_sysv_mod.c:1.1 Sun May 10 07:41:15 2015 +++ src/sys/compat/common/compat_sysv_mod.c Mon May 11 10:32:13 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sysv_mod.c,v 1.1 2015/05/10 07:41:15 pgoyette Exp $ */ +/* $NetBSD: compat_sysv_mod.c,v 1.2 2015/05/11 10:32:13 pgoyette Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: compat_sysv_mod.c,v 1.1 2015/05/10 07:41:15 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: compat_sysv_mod.c,v 1.2 2015/05/11 10:32:13 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -50,7 +50,6 @@ __KERNEL_RCSID(0, "$NetBSD: compat_sysv_ MODULE(MODULE_CLASS_EXEC, compat_sysv, NULL); -#ifdef _MODULE static const struct syscall_package compat_sysv_syscalls[] = { #if defined(COMPAT_10) && !defined(_LP64) # if defined(SYSVMSG) @@ -89,7 +88,6 @@ static const struct syscall_package comp #endif { 0, 0, NULL }, }; -#endif int sysctl_kern_sysvipc50(SYSCTLFN_ARGS); @@ -100,20 +98,16 @@ compat_sysv_modcmd(modcmd_t cmd, void *a switch (cmd) { case MODULE_CMD_INIT: -#ifdef _MODULE /* Link the system calls */ error = syscall_establish(NULL, compat_sysv_syscalls); -#endif #ifdef COMPAT_50 sysvipc50_set_compat_sysctl(sysctl_kern_sysvipc50); #endif return error; case MODULE_CMD_FINI: -#ifdef _MODULE /* Unlink the system calls. */ error = syscall_disestablish(NULL, compat_sysv_syscalls); -#endif #ifdef COMPAT_50 sysvipc50_set_compat_sysctl(NULL); #endif