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