This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Linetable


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]