From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13228 invoked by alias); 13 Jul 2009 19:42:56 -0000 Received: (qmail 13216 invoked by uid 22791); 13 Jul 2009 19:42:55 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from NaN.false.org (HELO nan.false.org) (208.75.86.248) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 13 Jul 2009 19:42:45 +0000 Received: from nan.false.org (localhost [127.0.0.1]) by nan.false.org (Postfix) with ESMTP id E790C109FD; Mon, 13 Jul 2009 19:42:42 +0000 (GMT) Received: from caradoc.them.org (209.195.188.212.nauticom.net [209.195.188.212]) by nan.false.org (Postfix) with ESMTP id AF81C1019A; Mon, 13 Jul 2009 19:42:42 +0000 (GMT) Received: from drow by caradoc.them.org with local (Exim 4.69) (envelope-from ) id 1MQRQ9-0000Ld-IW; Mon, 13 Jul 2009 15:42:41 -0400 Date: Mon, 13 Jul 2009 19:44:00 -0000 From: Daniel Jacobowitz To: Michael Snyder Cc: Mark Kettenis , "gdb-patches@sourceware.org" , "teawater@gmail.com" Subject: Re: [RFA] epilogue unwinder for i386 (reverse 1/2) Message-ID: <20090713194241.GA1287@caradoc.them.org> Mail-Followup-To: Michael Snyder , Mark Kettenis , "gdb-patches@sourceware.org" , "teawater@gmail.com" References: <4A4EA0F7.1040004@vmware.com> <4A4EA3B3.9030107@vmware.com> <200907051235.n65CZhDb024857@brahms.sibelius.xs4all.nl> <4A511332.2000607@vmware.com> <4A58D5D7.9070504@vmware.com> <200907121112.n6CBCG1x032181@brahms.sibelius.xs4all.nl> <4A5A209E.5050202@vmware.com> <20090713022618.GA28468@caradoc.them.org> <4A5B8B4B.4020903@vmware.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A5B8B4B.4020903@vmware.com> User-Agent: Mutt/1.5.20 (2009-06-14) X-IsSubscribed: yes 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: 2009-07/txt/msg00369.txt.bz2 On Mon, Jul 13, 2009 at 12:30:19PM -0700, Michael Snyder wrote: > You're right, bad judgement call on my part. > I'll take it out again until this is resolved. Thanks. Or we can just fix the test, since it sounds straightforward. > The issue is, the test contains a hand-coded artificial signal > frame/handler consisting of a single "ret" instruction. > > My new epilogue unwinder recognizes the "ret", so it lays > claim to the frame before the dwarf unwinder has a chance. > > It still does a proper backtrace, but of course it doesn't > show the tag, it just shows the function name. > > What do you think? Could we maybe add a nop here or something? > I don't understand the details well enough to speculate. That ought to work, with a comment about what it's there for. Just don't push/pop to change the stack layout. -- Daniel Jacobowitz CodeSourcery