This is consistent with kern.module_path sysctl and also compensates
for the unconventional syntax of asf(8) where the last of multiple
arguments is the output file, which prevents us from using the
traditional Unix syntax "foo file ..." to specify multiple module
dirs.
Submitted by: emaste
MFC after: 1 week
A field width in printf(3) must be int, so cast return value from strlen()
to the type.
Noticed by: Andrzej Tobola <ato iem pw edu pl>; tinderbox
Pointy hat to: yar
X-MFC with: the rest of the new asf code
The improvements are:
- can get the kld info from core files via kvm(3);
- can use kldstat(2) directly, which is a piece of cake;
- can use .symbols or whatever, which allows for use by
non-developers when reporting system crashes -- now asf(8)
can be mentioned in the handbook at last;
- speed (no more double fts(3) per loaded module);
- various bugs fixed.
At the same time, the new asf(8) should stay compatible with
the old one, bar bugs. Perhaps some defaults may be changed
later to match today's state of affairs.
Reviewed by: grog
MFC after: 1 month
Sponsored by: RiNet (Cronyx Plus LLC)
no matter where in the directory structure it may be. Use this and the "-k"
flag in the generated gdbinit files so that the "getsyms" function in gdb
requires no user intervention to run and will find every module if they're
in the kernel build's module directory. This is still quite useful for
cases where gdb knows that the path for some modules is /boot/kernel and
others are in the object directory for /usr/src/sys/$ARCH/compile/kernel.
Approved by: grog