Subject: Re: ksyms patches.
To: None <ragge@ludd.luth.se>
From: Jason Thorpe <thorpej@wasabisystems.com>
List: tech-kern
Date: 04/21/2003 08:22:26
On Monday, April 21, 2003, at 07:01 AM, <ragge@ludd.luth.se> wrote:
> I have just fixed the in-kernel symbol table stuff so that it is
> ready for use. The ksyms files + diffs to other files are available at
Sweet!
> SYMTAB_SPACE is retained as-is; this will change to another way
> of loading the initial symbol table in the future.
Well... Normally, a boot loader would load the initial symbol table for
the kernel. SYMTAB_SPACE is used on systems where that is not possible
(e.g. kernel booting directly out of flash, or dumb firmware on some
eval boards which can't support boot loaders).
> The kvm and libc nlist routines are not fixed here. There are a bunch
> of
> more changes that must be done for them to work; they use mmap() to
> read
> the symbols of a file, which cannot be used. The same is true for
> kvm_mkdb,
> but it is questionable if it should be around; creating a static db for
> kernel symbols that may move around is not necessary a good idea.
Hm... Not possible to play a trick with mmap in the /dev/ksyms driver
to make it work?
Regarding kvm_mkdb(8), I still think it's useful to have that; it makes
nlist(3) a lot faster (or, at least, it's supposed to). Maybe you can
add support for poll(2)/kqueue(2) on /dev/ksyms, and some persistent
daemon can keep the db up to date?
-- Jason R. Thorpe <thorpej@wasabisystems.com>