This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: PowerPC prologue analysis
- From: Daniel Jacobowitz <drow at false dot org>
- To: Aleksandar Ristovski <aristovski at qnx dot com>
- Cc: gdb at sources dot redhat dot com
- Date: Mon, 28 Jul 2008 16:13:12 -0400
- Subject: Re: PowerPC prologue analysis
- References: <g6l92j$330$1@ger.gmane.org>
On Mon, Jul 28, 2008 at 04:09:54PM -0400, Aleksandar Ristovski wrote:
> Hello,
>
> In the code, in rs6000-tdep.c around line 3334, there is a comment stating:
>
> /* if != -1, fdata.saved_gpr is the smallest number of saved_gpr.
> All gpr's from saved_gpr to gpr31 are saved. */
>
> I am, however, witnessing a function that appears to be saving r30, but not r31 (see the disassembly below). This, in turn, causes gdb to unwind r31 from a 'saved' area even though the area does not exist.
>
> I am not very familiar with PowerPC ABI, but from what I gather reading
> the "function call" section, but can not see where is it stated that if
> r30 is saved, then r31 must be saved too? But again, I haven't studied the
> ABI very thoroughly and might be missing that line.
Might want to look at this patch:
http://sourceware.org/ml/gdb-patches/2007-12/msg00111.html
--
Daniel Jacobowitz
CodeSourcery