From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9601 invoked by alias); 27 Jun 2011 14:11:39 -0000 Received: (qmail 9585 invoked by uid 22791); 27 Jun 2011 14:11:38 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,TW_CN X-Spam-Check-By: sourceware.org Received: from mel.act-europe.fr (HELO mel.act-europe.fr) (194.98.77.210) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 27 Jun 2011 14:11:25 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id E2C3ACB02C6; Mon, 27 Jun 2011 16:11:23 +0200 (CEST) Received: from mel.act-europe.fr ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oLE1rbwpMsVC; Mon, 27 Jun 2011 16:11:20 +0200 (CEST) Received: from [192.168.1.2] (bon31-9-83-155-120-49.fbx.proxad.net [83.155.120.49]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mel.act-europe.fr (Postfix) with ESMTP id 828E9CB0297; Mon, 27 Jun 2011 16:11:20 +0200 (CEST) From: Eric Botcazou To: Mark Kettenis Subject: Re: [patch] Add support for single register window model on SPARC Date: Mon, 27 Jun 2011 14:11:00 -0000 User-Agent: KMail/1.9.9 Cc: gdb-patches@sourceware.org, Joel Brobecker References: <201106161536.09111.ebotcazou@adacore.com> <201106212008.10987.ebotcazou@adacore.com> <201106231314.p5NDE37t015068@glazunov.sibelius.xs4all.nl> In-Reply-To: <201106231314.p5NDE37t015068@glazunov.sibelius.xs4all.nl> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201106271610.26710.ebotcazou@adacore.com> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-06/txt/msg00393.txt.bz2 > Typically, yes, but because of: > > /* FIXME: kettenis/20050423: Don't enable the unwinder until the > StackGhost issues have been resolved. */ > > we only install the DWARF unwinder for Linux, and I guess you tested > on some other platform. Yes, on Solaris. I'll give it a whirl on Linux to see how the DWARF unwinder fares then. > No regression on OpenBSD/sparc64, so all fine with me. Thanks for the review. Joel, I have commit rights to src but I'm not listed in MAINTAINERS so would you mind applying the revised patch (gdb-mflat-2.diff) attached to my previous message in the thread? TIA. 2011-06-27 Eric Botcazou * sparc-tdep.h (struct sparc_frame_cache): Add frame_offset, saved_regs_mask and copied_regs_mask fields. (sparc_record_save_insn): New prototype. * sparc-tdep.c (sparc_alloc_frame_cache): Initialize the new fields. (sparc_record_save_insn): New function. (sparc_analyze_prologue): Add head comment. Recognize store insns of call-saved registers. Use OFFSET consistently. Recognize flat frames and cache their settings. (sparc32_skip_prologue): Handle flat frames. (sparc_frame_cache): Add frame_offset to the base address. (sparc32_frame_cache): Adjust to new frame description. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_cache): Likewise. * sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_cache): Likewise. * sparcnbsd-tdep.c (sparc32nbsd_sigcontext_frame_cache): Force the frame by calling sparc_record_save_insn. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_frame_cache): Likewise. * sparcobsd-tdep.c (sparc32obsd_sigtramp_frame_cache): Likewise. * sparc64obsd-tdep.c (sparc64obsd_frame_cache): Likewise. -- Eric Botcazou