On 29 Jan 2008, at 23:44, John Baldwin wrote:
jhb 2008-01-29 23:44:34 UTC
FreeBSD src repository
Modified files:
gnu/usr.bin/gdb/kgdb kgdb.h kld.c trgt.c
Log:
- Rework the kld support to hook into GDB's shared library support.
kgdb(8) now treats kld's as shared libraries relative to the kernel
"binary". Thus, you can use 'info sharedlibrary' to list the kld's
along with 'sharedlibrary' and 'nosharedlibrary' to manage symbol
loading and unloading. Note that there isn't an easy way to
force GDB
to use a specific path for a shared library. However, you can use
'nosharedlibrary' to unload all the klds and then use
'sharedlibrary'
to load specific klds where it gets the kld correct and use
'add-kld' for the kld's where the default open behavior doesn't
work.
klds opened via 'sharedlibrary' (and during startup) do have their
sections listed in 'info files'.
- Change the 'add-kld' command to use filename completion to
complete its
argument.
This was how it used to work long ago (I forget exactly how long). I
had things set up so that GDB's standard ELF shared library code would
find KLDs automatically - you can see remnants of this in link_elf.c
in 'ifdef GDB' sections which build an RTLD-like list of loaded files
which GDB looked for starting at the global symbol r_debug.