ASF(8)

NAME
asf - add symbol files

SYNOPSIS
asf [-afKksVx] [-M core] [-N system] [-o outfile] [-X suffix] [modules-path [outfile]]

DESCRIPTION
By default, asf reads kldstat(8) output from standard input and writes to the .asf file a list of gdb(1) commands to add symbol files from KLDs in subdirectories of the subdirectory modules of the current directory, which is intended to be a kernel build directory. This allows gdb(1) to load the symbols into the debugging environment.

An optional modules-path argument can specify a semicolon-separated list of directory pathnames similar to the kern.module_path sysctl. Each directory in the list will be searched in turn for modules. The default list consists of just one element, modules, which is suitable if the current directory is a kernel build directory.

If outfile is specified, asf writes to it instead of .asf. If outfile is a single dash (‘-’), standard output is used.

OPTIONS
The following options modify the function of asf:

-a  When writing to an explicit outfile, append to the file rather than overwriting it.

-f  Instead of trying to simplistically guess the path for each module, perform a traversal in the same way that find(1) does to locate an exact path for each module, no matter where in modules-path it is located.

-K  Instead of reading from standard input, use the conventional system interface to get the list of modules currently loaded.

-k  Instead of reading from standard input, start a kldstat(8) and read the information from it.

-M  Specify the core file for kvm(3). Implies -V.

-N  Specify the system file for kvm(3). Implies -V.

-o  Specify the file for asf to write or append its output to. If outfile is a single dash (‘-’), standard output is used.

-s  Do not prepend a (guessed) subdirectory of the module path.

-V  Instead of reading from standard input, use the kvm(3) interface to get the list of modules. This interface allows for inspecting system crash dumps, as well as the live system. The -M and -N options will be of use if inspecting a crash dump. Elevated privileges, e.g., those of a superuser, may be needed to use this option.

-X  Add suffix to the list of suffixes asf tries to append to KLD file names. The default list consists of .debug, .symbols, and the null suffix. The null suffix always stays at the list tail, after the suffix added. Should it be needed in the middle of the list, a blank suffix can be specified to -X instead.

-x  Clear the list of suffixes asf tries to append to KLD file names. Only the null suffix is left in the list.

EXAMPLES
To add symbol files from the system search path specified by the kern.module_path sysctl, the following command can be used:

    asf -s `sysctl -n kern.module_path`

SEE ALSO
gdb(1), kvm(3), kld(4), kldstat(8), sysctl(8)

HISTORY
The asf utility first appeared in FreeBSD 5.2.

AUTHORS
Greg Lehey <grog@FreeBSD.org>

BUGS
Module paths are guessed in a rather naive way by default. It is likely to lag behind the changes to the build tree layout. Using -f is recommended.