Module Name: src
Committed By: pgoyette
Date: Wed Nov 4 20:54:20 UTC 2020
Modified Files:
src/sys/compat/netbsd32: netbsd32_core.c
src/sys/modules/compat_netbsd32_coredump: Makefile
Log Message:
Use opt_execfmt.h to get build options.
Only include elf32 hooks if we have elf32 defined and elf32 is not the
"native" emulation. This allows for having compat_netbsd32 without
elf32 (although it's probably not too useful), and also enables arm's
old-ABI usage of compat_netbsd32.
To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/compat/netbsd32/netbsd32_core.c
cvs rdiff -u -r1.1 -r1.2 src/sys/modules/compat_netbsd32_coredump/Makefile
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/netbsd32/netbsd32_core.c
diff -u src/sys/compat/netbsd32/netbsd32_core.c:1.16 src/sys/compat/netbsd32/netbsd32_core.c:1.17
--- src/sys/compat/netbsd32/netbsd32_core.c:1.16 Sun Nov 1 18:51:02 2020
+++ src/sys/compat/netbsd32/netbsd32_core.c Wed Nov 4 20:54:20 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_core.c,v 1.16 2020/11/01 18:51:02 pgoyette Exp $ */
+/* $NetBSD: netbsd32_core.c,v 1.17 2020/11/04 20:54:20 pgoyette Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -45,13 +45,17 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_core.c,v 1.16 2020/11/01 18:51:02 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_core.c,v 1.17 2020/11/04 20:54:20 pgoyette Exp $");
#include <sys/compat_stub.h>
#include <sys/exec_elf.h>
#include <sys/lwp.h>
#include <sys/module.h>
+#ifdef _KERNEL_OPT
+#include "opt_execfmt.h"
+#endif
+
#define DEPS "compat_netbsd32,compat_netbsd32_ptrace,coredump"
MODULE(MODULE_CLASS_MISC, compat_netbsd32_coredump, DEPS);
@@ -68,11 +72,15 @@ compat_netbsd32_coredump_modcmd(modcmd_t
switch (cmd) {
case MODULE_CMD_INIT:
MODULE_HOOK_SET(coredump_netbsd32_hook, real_coredump_netbsd32);
+#if defined(EXEC_ELF32) && defined(__LP64)
MODULE_HOOK_SET(coredump_elf32_hook, real_coredump_elf32);
+#endif
return 0;
case MODULE_CMD_FINI:
MODULE_HOOK_UNSET(coredump_netbsd32_hook);
+#if defined(EXEC_ELF32) && defined(__LP64)
MODULE_HOOK_UNSET(coredump_elf32_hook);
+#endif
return 0;
default:
return ENOTTY;
Index: src/sys/modules/compat_netbsd32_coredump/Makefile
diff -u src/sys/modules/compat_netbsd32_coredump/Makefile:1.1 src/sys/modules/compat_netbsd32_coredump/Makefile:1.2
--- src/sys/modules/compat_netbsd32_coredump/Makefile:1.1 Sun Nov 1 18:51:03 2020
+++ src/sys/modules/compat_netbsd32_coredump/Makefile Wed Nov 4 20:54:20 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1 2020/11/01 18:51:03 pgoyette Exp $
+# $NetBSD: Makefile,v 1.2 2020/11/04 20:54:20 pgoyette Exp $
.include "../Makefile.inc"
@@ -10,7 +10,7 @@ SRCS= netbsd32_core.c
.PATH: ${S}/kern
SRCS+= core_elf32.c
-CPPFLAGS+= -DCOMPAT_NETBSD32
+CPPFLAGS+= -DCOMPAT_NETBSD32 -DEXEC_ELF32
WARNS= 3