From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18669 invoked by alias); 3 Jun 2003 20:12:07 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 18654 invoked from network); 3 Jun 2003 20:12:07 -0000 Received: from unknown (HELO lacrosse.corp.redhat.com) (66.187.233.200) by sources.redhat.com with SMTP; 3 Jun 2003 20:12:07 -0000 Received: from free.redhat.lsd.ic.unicamp.br (aoliva.cipe.redhat.com [10.0.1.10]) by lacrosse.corp.redhat.com (8.11.6/8.9.3) with ESMTP id h53KC4K15316; Tue, 3 Jun 2003 16:12:04 -0400 Received: from free.redhat.lsd.ic.unicamp.br (free.redhat.lsd.ic.unicamp.br [127.0.0.1]) by free.redhat.lsd.ic.unicamp.br (8.12.8/8.12.8) with ESMTP id h53KC3tp002451; Tue, 3 Jun 2003 17:12:03 -0300 Received: (from aoliva@localhost) by free.redhat.lsd.ic.unicamp.br (8.12.8/8.12.8/Submit) id h53KBwN4002447; Tue, 3 Jun 2003 17:11:58 -0300 To: Jim Blandy Cc: Richard Henderson , Andrew Cagney , Mark Kettenis , mludvig@suse.cz, gdb@sources.redhat.com Subject: Re: dwarf-frame.c question References: <3ED381CB.5050207@suse.cz> <200305291544.h4TFi7aL031832@elgar.kettenis.dyndns.org> <3ED66564.1020506@redhat.com> <200305292222.h4TMMmGm000694@elgar.kettenis.dyndns.org> <3ED693F5.9040108@redhat.com> <3ED7BFD1.7060902@redhat.com> <20030603054552.GD19075@redhat.com> From: Alexandre Oliva Organization: GCC Team, Red Hat Date: Tue, 03 Jun 2003 20:12:00 -0000 In-Reply-To: Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2003-06/txt/msg00036.txt.bz2 On Jun 3, 2003, Jim Blandy wrote: > So, if a function never returns, why not have the compiler emit CFI > that restores the state just *before* the call insn was executed, > not after it returns? In some ABIs, the callee releases (part of) the stack space allocated by the caller, so the state is actually different. I.e., the state before the call is significantly different from the state after the return, which is also different from the state during the call. I'm not sure whether it would actually matter for GDB, but that's why I thought we'd be better off taking the CFI from after the call (even if it's not meaningful given that the call doesn't return), instead of from before it. -- Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/ Red Hat GCC Developer aoliva@{redhat.com, gcc.gnu.org} CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org} Free Software Evangelist Professional serial bug killer