On Jan 25, 5:59am, paul%whooppee.com@localhost (Paul Goyette) wrote:
-- Subject: Re: kern/50700: dtrace module(s) cannot be loaded
| No.
|
| If everything is built-in (ie, KDTRACE_HOOKS is defined), there is no
| problem. the module doesn't need to "load" since it is already
| built-in.
No, KDTRACE_HOOKS does not actually make everything built-in. It just
adds the hooks that dtrace needs to link if it is loaded.
| The problem occurs when the module is NOT built-in, ie, KDTRACE_HOOKS is
| not defined.
If KDTRACE_HOOKS are not defined, then the modules cannot load since the
support for them is missing from the kernel.
| In this case, the modules that are built are not "complete". They don't
| contain critical trap/vector "support-code", and they don't contain the
| various "probes". The lack of support-code prevents them from even
| being loaded (due to the error messages reported in the PR).
That's a different story. We currently don't have modules that have probes,
and we would need to have a module notification system for that to work
properly (load the probes when the module is loaded and unload them before
it is unloaded).
| Even if the support-code issue were resovled (by including it in all
| kernels, unconditionally), the load-at-run-time modules would be of no
| value, since none of the "probes" would exist.
The probes are compiled in when KDTRACE_HOOKS is defined.