Re: Help needed with browsing GDB code

Nityananda
2009-02-06T20:22:12Z

HI Thiago,
Thanks for the information. I am reading the code to deal with the
stack frame information without the debug information. Can you please
point me to the code with the debug information? You mentioned that it
uses DWARF2. So are the local variables always at the same offset of
the frame base address or there is a possibility of these addresses
changing from one process to another?

Thank you very much in advance,
Nityananda

On Feb 6, 2009, at 4:01 AM, Thiago Jung Bauermann wrote:

> Hi Nityananda,
>
> El jue, 05-02-2009 a las 18:26 -0800, Nityananda escribió:
>> I am looking for how
>> GDB obtains the address of stack local variables. I am seeing some
>> code related to frame_info but do not know how it actually works.
>
> Well, there are two situations: with debug information available, and
> without. For the first case it's simple: the DWARF2 format includes
> the
> frame base address as part of the unwind information, and addresses of
> local variables in the debuginfo are relative to that base address.
>
> When there's no debuginfo available, GDB uses its knowledge of the OS
> ABI for the given architecture. For example, for ppc64-linux, the
> stack
> frame layout is given here:
>
> http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html#STACK
>
> And the code which uses that knowledge is in
> rs6000-tdep.c:rs6000_frame_cache. It's kinda hairy...
> --
> []'s
> Thiago Jung Bauermann
> IBM Linux Technology Center
>