From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13546 invoked by alias); 15 May 2006 16:12:22 -0000 Received: (qmail 13538 invoked by uid 22791); 15 May 2006 16:12:21 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Mon, 15 May 2006 16:12:19 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1Fffg5-0008As-VG; Mon, 15 May 2006 12:12:14 -0400 Date: Mon, 15 May 2006 16:46:00 -0000 From: Daniel Jacobowitz To: Andreas Schwab Cc: gdb-patches@sourceware.org Subject: Re: Use DWARF CFI frame unwinder on powerpc Message-ID: <20060515161213.GE28924@nevyn.them.org> Mail-Followup-To: Andreas Schwab , gdb-patches@sourceware.org References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.11+cvs20060403 X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-05/txt/msg00333.txt.bz2 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 > > * 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 * 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