Linetable
Sp3cial K
ikiwibebe@hotmail.com
Thu Jul 28 00:12:00 GMT 2005
Hi Jason,
Thanks for responding so quickly. Oops, I was referring to the symbol table
as NAS.map. I'm working on solving the multiple constructor/destructor bug.
The multiple memory location of the same constructor/destructor is found
in the symbol table, and I'm trying to do a lookup on all the entries with
the same line number in the linetable.
Basically, when there is a weak symbol (overloaded functions), the linetable
contains the same line number with different pc, and then there will be an
entry with line number=0 and a valid pc. Only one of those pc is found in
the symbol table. I wanted to know where exactly in the code does GDB put
all the pc from different version of the object files into the linetable,
and why are there pc addresses in the linetable that are not in the symbol
table.
~K
>From: Jason Molenda <jmolenda@apple.com>
>To: Sp3cial K <ikiwibebe@hotmail.com>
>CC: gdb@sources.redhat.com
>Subject: Re: Linetable
>Date: Wed, 27 Jul 2005 15:01:51 -0700
>
>
>On Jul 27, 2005, at 2:54 PM, Sp3cial K wrote:
>
>>Hi, can someone please explain how symtab->linetable is constructed?
>
>You're probably best off starting by looking at the readelf -wl output of
>your executable.
>
>
>>For each of the functions, the linetable contains two entries with same
>>line number and slightly different pc, but these entries are not in
>>NAS.map!
>
>I have no idea what NAS.map is.
>
>Before you assume that gdb has incorrectly read the line table, you should
>start by looking at the line table information in the executable.
>
>Jason
More information about the Gdb
mailing list