From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11199 invoked by alias); 22 Aug 2006 21:24:32 -0000 Received: (qmail 11191 invoked by uid 22791); 22 Aug 2006 21:24:31 -0000 X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO sibelius.xs4all.nl) (82.92.89.47) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 22 Aug 2006 21:24:30 +0000 Received: from elgar.sibelius.xs4all.nl (root@elgar.sibelius.xs4all.nl [192.168.0.2]) by sibelius.xs4all.nl (8.13.4/8.13.4) with ESMTP id k7MLNuld002285; Tue, 22 Aug 2006 23:23:56 +0200 (CEST) Received: from elgar.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by elgar.sibelius.xs4all.nl (8.13.6/8.13.6) with ESMTP id k7MLNt1m002137; Tue, 22 Aug 2006 23:23:55 +0200 (CEST) Received: (from kettenis@localhost) by elgar.sibelius.xs4all.nl (8.13.6/8.13.6/Submit) id k7MLNtDv006888; Tue, 22 Aug 2006 23:23:55 +0200 (CEST) Date: Tue, 22 Aug 2006 21:36:00 -0000 Message-Id: <200608222123.k7MLNtDv006888@elgar.sibelius.xs4all.nl> From: Mark Kettenis To: drow@false.org CC: gdb-patches@sourceware.org In-reply-to: <20060820170508.GD20987@nevyn.them.org> (message from Daniel Jacobowitz on Sun, 20 Aug 2006 13:05:08 -0400) Subject: Re: [rfc, frame] Always check for unsaved PC References: <20060819161139.GC25238@nevyn.them.org> <200608201427.k7KERnD0001824@elgar.sibelius.xs4all.nl> <20060820170508.GD20987@nevyn.them.org> 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-08/txt/msg00175.txt.bz2 > Date: Sun, 20 Aug 2006 13:05:08 -0400 > From: Daniel Jacobowitz > > > This doesn't fly for architectures where the return address is > > computed though, like on sparc. > > I see that gdb doesn't use dwarf2 unwind tables on sparc. Does GCC > generate them? How does GCC deal with the extra +8? It looks like > it doesn't; it uses %o7 to handle unwinding and just looks at the > location of the call site. We use them on Linux, but I haven't enabled the DWARF CFI frame unwinder on all SPARC platforms yet because the StackGhost complication on OpenBSD/sparc and OpenBSD/sparc64. The extra +8 is handled by sparc{32|64}_dwarf2_frame_init_reg(). Mark