Subject: Re: Making a symbol table
To: Jared Momose <jpmomose@hotmail.com>
From: Chan-youn Park <phygeeks@gmail.com>
List: tech-kern
Date: 04/27/2005 09:48:38
On 4/26/05, Jared Momose <jpmomose@hotmail.com> wrote:
> I believe this problem occurs when ddb is enabled and the in-kernel symbo=
l
> table is not populated. Make sure you have enough space set aside in your
> kernel for the symbol table with "options SYMTAB_SPACE=3Dxxxxx" and execu=
te
> dbsym on your kernel with "dbsym mykernel" (powerpc--netbsd2.0-dbsym in y=
our
> case).
>=20
> >When '[no symbols available]' message comes out while booting, what
> >options should I set for compiling a kernel with symbols?

Well, symbol table space was allocated, but I think it does not
automatically make an symbol table. So it seems that, as you said, I
should execute dbsym, but the problem is, currently my bootloader only
works with a binary kernel image, and dbsym complains that it cannot
understand the binary image. When I give it an ELF image, it gives no
error message, although I don't know whether it did make a symbol
table in it. The following is the error message.
----
# powerpc--netbsd-dbsym netbsd.bin
check format: File format not recognized
----
1) It seems that I should execute dbsym before a binary image is made
from an ELF image. For that what option I should turn on in the kernel
configuration file?

2) The reason that I use a binary image for booting is that the TEXT
section, at 0x90000, is the right location for loading and entry
point, but for an ELF image, if the entry point is set for there, it
does not boot. What location should I set for the entry point of an
ELF image?

3) And I'm also a little bit suspicious about the bootloader. When I
printed directly the parameters given to ddb_init(), it says that the
start and the end of the symbol table address is 0x7f1ffc8 and 0x0,
respectively. Do you think the bootloader is doing what it is assumed
to do?