From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10094 invoked by alias); 5 May 2003 14:11:14 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 10079 invoked from network); 5 May 2003 14:11:13 -0000 Received: from unknown (HELO walton.kettenis.dyndns.org) (62.163.169.212) by sources.redhat.com with SMTP; 5 May 2003 14:11:13 -0000 Received: from elgar.kettenis.dyndns.org (elgar.kettenis.dyndns.org [192.168.0.2]) by walton.kettenis.dyndns.org (8.12.6/8.12.5) with ESMTP id h45EB0Po001853; Mon, 5 May 2003 16:11:00 +0200 (CEST) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: from elgar.kettenis.dyndns.org (localhost [127.0.0.1]) by elgar.kettenis.dyndns.org (8.12.6/8.12.6) with ESMTP id h45EB0cO009797; Mon, 5 May 2003 16:11:00 +0200 (CEST) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: (from kettenis@localhost) by elgar.kettenis.dyndns.org (8.12.6/8.12.6/Submit) id h45EB012009794; Mon, 5 May 2003 16:11:00 +0200 (CEST) Date: Mon, 05 May 2003 14:11:00 -0000 Message-Id: <200305051411.h45EB012009794@elgar.kettenis.dyndns.org> From: Mark Kettenis To: drow@mvista.com CC: ac131313@redhat.com, gdb-patches@sources.redhat.com In-reply-to: <20030505034242.GA21263@nevyn.them.org> (message from Daniel Jacobowitz on Sun, 4 May 2003 23:42:42 -0400) Subject: Re: [PATCH/i386newframe/RFC] DWARF CFI frame unwinder References: <200305042207.h44M7gNG023734@elgar.kettenis.dyndns.org> <3EB5DBFF.6030009@redhat.com> <20030505034242.GA21263@nevyn.them.org> X-SW-Source: 2003-05/txt/msg00061.txt.bz2 Date: Sun, 4 May 2003 23:42:42 -0400 From: Daniel Jacobowitz > >+static CORE_ADDR > >+dwarf_frame_base_address (struct frame_info *next_frame, void > >**this_cache) > >+{ > >+ struct dwarf_frame_cache *cache = dwarf_frame_cache (next_frame, > >this_cache); > >+ > >+ return cache->cfa; > >+} > > This isn't right. Probably yes. I think I added this stuff when I was confused about what exectly was the value printed by "info frame". > It should return DW_AT_frame_base. I don't think that it is the job of the DWARF CFI module to provide that. I probably should simply remove the frame base code from the DWARF CFI code, and trust the default frame base methods to do something sane. > However, since > dwarf2expr.c doesn't yet use these methods it doesn't [?] really matter. > Only affects ``info frame''. I don't think it should. You mean return DW_AT_frame_base. The frame's CFA is the basis for identifying the frame and locating saved registers in the CFI. It is always present when you have CFI. DW_AT_frame_base is the basis for locating saved variables and locals. It is generally present when you have DWARF-2 debug info. The two are not necessarily related. Indeed, there is no way of referencing the CFA from outside the DWARF CFI info. Mark