Subject: Re: Symbol lookups.
To: Ignatios Souvatzis <is@netbsd.org>
From: None <ragge@ludd.luth.se>
List: tech-userlevel
Date: 05/10/2003 11:36:03
> Hi,
> 
> On Fri, May 09, 2003 at 11:36:17PM -0400, Andrew Brown wrote:
> 
> > i'm just concerned that /var/db/kvm.db and /dev/ksyms are standard
> > locations, whereas the actual location of the booted kernel is not.
> 
> why would /dev/ksyms not be there for a live kernel? For analyzing
> core dumps, we have to use nlist anyway, right?
>  
Yes, as always.  
Note that gdb should be teached about the in-kernel table, so that
it will be possible to debug kernels with loaded modules.

> > and that lots of programs, when given a namelist file, will drop all
> > privs, so most things won't work for the average user if the standard
> > locations don't work.
> 
> Yes, but int the new world order, /dev/ksyms would always be around, wouldn't
> it?
> 
Yes, unless it is explicitly avoided (not compiled in). This may be the
case in install kernels for example, where memory usage matters.
It may also be the case on machines with very little memory, but then
the routines will fall back to read the namelist of /netbsd (as before 4.4BSD).

In normal situations there will be no need to know where the kernel
that the system booted from lives. 

-- Ragge