Module Name: src
Committed By: hannken
Date: Sun Jul 21 15:37:27 UTC 2019
Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_open.c
Log Message:
Try to load module "dtrace" before opening "/dev/dtrace/dtrace".
Fixes PR kern/54387: DTrace Kernel module does not autoload on first use ...
To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.13 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.14
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c:1.13 Mon May 28 21:05:05 2018
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_open.c Sun Jul 21 15:37:27 2019
@@ -1140,6 +1140,16 @@ dt_vopen(int version, int flags, int *er
*/
dt_provmod_open(&provmod, &df);
+#ifdef __NetBSD__
+ modctl_load_t cmdargs;
+
+ cmdargs.ml_filename = "dtrace";
+ cmdargs.ml_flags = MODCTL_NO_PROP;
+ cmdargs.ml_props = NULL;
+ cmdargs.ml_propslen = 0;
+
+ (void)modctl(MODCTL_LOAD, &cmdargs);
+#endif
dtfd = open("/dev/dtrace/dtrace", O_RDWR);
err = errno; /* save errno from opening dtfd */
#if defined(__FreeBSD__)