This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: Use DWARF CFI frame unwinder on powerpc
- From: Daniel Jacobowitz <drow at false dot org>
- To: Andreas Schwab <schwab at suse dot de>
- Cc: gdb-patches at sourceware dot org
- Date: Mon, 15 May 2006 12:12:13 -0400
- Subject: Re: Use DWARF CFI frame unwinder on powerpc
- References: <jehd3z1dy7.fsf@sykes.suse.de>
On Tue, May 09, 2006 at 04:16:00PM +0200, Andreas Schwab wrote:
> Together with the previous patch this enables the use of the DWARF CFI
> frame unwinder on powerpc. This fixes the following testsuite failures:
>
> -FAIL: gdb.base/break.exp: next over recursive call
> -FAIL: gdb.base/break.exp: backtrace from factorial(5.1)
> -FAIL: gdb.base/recurse.exp: continue to recurse (a = 4)
> -FAIL: gdb.base/recurse.exp: continue to recurse (a = 3)
> -FAIL: gdb.base/recurse.exp: continue to recurse (a = 2)
> -FAIL: gdb.base/recurse.exp: continue to recurse (a = 1)
> -FAIL: gdb.base/recurse.exp: continue to second instance watchpoint, second time
> -FAIL: gdb.base/recurse.exp: second instance watchpoint deleted when leaving scope
> -FAIL: gdb.base/recurse.exp: continue to first instance watchpoint, second time
> -FAIL: gdb.base/recurse.exp: first instance watchpoint deleted when leaving scope
> -FAIL: gdb.base/sepdebug.exp: next over recursive call
> -FAIL: gdb.base/sepdebug.exp: backtrace from factorial(5.1)
>
> without any new regressions. Tested with powerpc-suse-linux.
>
> Andreas.
>
> 2006-05-09 Andreas Schwab <schwab@suse.de>
>
> * rs6000-tdep.c: Include "dwarf2-frame.h".
> (rs6000_eh_frame_regnum): Define.
> (rs6000_gdbarch_init): Enable use of DWARF CFI frame unwinder.
> Register rs6000_eh_frame_regnum.
>
> * Makefile.in (rs6000-tdep.o): Update dependencies.
Hi Andreas,
I know we tried to do this once before, and ran into hiccups based on
the GCC numbering being inconsistent. Do we know which versions of GCC
this is likely to work with, and which are likely to make it fall down
horribly? I recall that GPRs were OK, but the numbering for LR was
ambiguous.
It might have been this:
2004-01-21 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
* dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
* doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
Yep, here's Mark K. and Alan discussing it:
http://gcc.gnu.org/ml/gcc/2004-01/msg00025.html
I'm worried that since we don't currently use the "this is the unwind
column" to indicate where lr lives in the table, although we could,
we'll break on pre-3.4-ish(?) binaries.
--
Daniel Jacobowitz
CodeSourcery