From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4514 invoked by alias); 4 Dec 2007 14:42:13 -0000 Received: (qmail 4505 invoked by uid 22791); 4 Dec 2007 14:42:12 -0000 X-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,DK_POLICY_SIGNSOME,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 04 Dec 2007 14:42:03 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.1) with ESMTP id lB4EfxuB016894; Tue, 4 Dec 2007 09:41:59 -0500 Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [10.11.255.20]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id lB4Efwvg011347; Tue, 4 Dec 2007 09:41:58 -0500 Received: from [127.0.0.1] (sebastian-int.corp.redhat.com [172.16.52.221]) by pobox.corp.redhat.com (8.13.1/8.13.1) with ESMTP id lB4EfwVv015148; Tue, 4 Dec 2007 09:41:58 -0500 Message-ID: <47556743.7080606@redhat.com> Date: Tue, 04 Dec 2007 14:42:00 -0000 From: Andrew Cagney User-Agent: Thunderbird 1.5.0.12 (X11/20070530) MIME-Version: 1.0 To: Mark Wielaard CC: frysk@sourceware.org Subject: Re: [SCM] master: Use libunwind cursor to get at CFA. References: <20071203105946.11374.qmail@sourceware.org> <47542CA6.20509@redhat.com> <1196714939.3072.67.camel@dijkstra.wildebeest.org> In-Reply-To: <1196714939.3072.67.camel@dijkstra.wildebeest.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact frysk-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-owner@sourceware.org X-SW-Source: 2007-q4/txt/msg00202.txt.bz2 Mark Wielaard wrote: > Nice catch. Well that is somewhat of a bummer. Then we must fall back on > the unwind one frame trick and get the SP again. > That isn't as bad as it seems; computing the cfa requires running the unwind-program anyway. I think having a method (perhaps called .getInnerCFA() though?) to differentiate between the sp and cfa is definitly a good idea. Also, if possible, can the start code address of the CFI block be made available? There's the theoretical possibility of further tuning the stepping code to use that to construct a quick-and-dirty frame-identifier when single stepping (letting us delay the request for the code's function). (Your elimination of the uses of libunwind's lookup is wicked) > What is somewhat worrying is that none of the tests caught this. So I > added one that does fail with my change, and passes with that commit > reverted. > > Yes. Scary. There's always one that gets away :-) Nice simple portable test. Andrew