This is the mail archive of the gdb-patches@sourceware.org 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: Use DWARF CFI frame unwinder on powerpc


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


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