symbol table device
device masquerades as an
native executable with the symbols from the
running kernel as its symbol segment. Use of
requires that the boot loader preserve
the kernel symbols and place them at the end of the kernel's address space.
device is used to look up the symbol
table name list from the running kernel. Because it represents the running
kernel it is guaranteed to always be up to date even if the kernel file has
been changed (or is even non-existent). It is most useful when used in
conjunction with nlist(3)
routines (note that
automatically if the first parameter
to them is the
An open of /dev/ksyms
will fail if:
- An open was attempted with write permissions.
- No kernel symbols were saved by the boot loader (usually
because they were removed with
strip(1)), or the kernel has
been compiled without a “pseudo-device ksyms” line.
device appeared in
It is not possible to mmap(2)
because the boot loader does not load
the symbol table onto a page boundary (so it is not page aligned). If all the
boot loaders were fixed, mmap(2)
support would be trivial.