From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26349 invoked by alias); 21 Apr 2005 21:55:57 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 26338 invoked from network); 21 Apr 2005 21:55:54 -0000 Received: from unknown (HELO cheetah.davemloft.net) (216.27.180.174) by sourceware.org with SMTP; 21 Apr 2005 21:55:54 -0000 Received: from localhost ([127.0.0.1] helo=cheetah.davemloft.net ident=davem) by cheetah.davemloft.net with smtp (Exim 3.36 #1 (Debian)) id 1DOjXh-0002js-00; Thu, 21 Apr 2005 14:49:01 -0700 Date: Thu, 21 Apr 2005 21:55:00 -0000 From: "David S. Miller" To: Mark Kettenis Cc: gdb-patches@sources.redhat.com Subject: Re: [PATCH] Add sparc64-linux sigtramp support Message-Id: <20050421144901.6fa89749.davem@davemloft.net> In-Reply-To: <200504212120.j3LLKB42010991@elgar.sibelius.xs4all.nl> References: <20050420204427.20d670e6.davem@davemloft.net> <200504211923.j3LJNHo6010891@elgar.sibelius.xs4all.nl> <20050421122250.6108168c.davem@davemloft.net> <200504212120.j3LLKB42010991@elgar.sibelius.xs4all.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-SW-Source: 2005-04/txt/msg00267.txt.bz2 On Thu, 21 Apr 2005 23:20:11 +0200 (CEST) Mark Kettenis wrote: > The attached patch was what I was thinking about. If it has issues > with signal handlers, take a look at > i386-linux-tdep.c:i386_linux_dwarf_signale_p(), That might help in the > case DWARF2 CFI for the signal trampoline is provided. Missing dwarf2-frame.h include in sparc64-linux-tdep.c but otherwise it did build. It has one of the problems I ran into last night, namely that gcc never emits data for register %g0 (which is always zero of course). So the dwarf2 CFI unwinder spits out: ==== During symbol reading, incomplete CFI data; unspecified registers (e.g. g0) at 0x100778 ==== But besides that I can happily report that it seems to work well even with signal handler backtraces. I'm doing this testing against a tree with my tramp_frame Linux changes. The temporary workaround I did last night was to make the sparc dwarf2 CIF unwinder init_reg() routine just mark G0 as UNDEFINED. I don't know if that's what we'd like to do long term, or if GCC should output something for this register.