From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23242 invoked by alias); 12 Jul 2005 16:07:22 -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 22620 invoked by uid 22791); 12 Jul 2005 16:07:06 -0000 Received: from lon-del-03.spheriq.net (HELO lon-del-03.spheriq.net) (195.46.50.99) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Tue, 12 Jul 2005 16:07:06 +0000 Received: from lon-out-03.spheriq.net ([195.46.50.131]) by lon-del-03.spheriq.net with ESMTP id j6CG73cD025006 for ; Tue, 12 Jul 2005 16:07:03 GMT Received: from lon-cus-01.spheriq.net (lon-cus-01.spheriq.net [195.46.50.37]) by lon-out-03.spheriq.net with ESMTP id j6CG718A025462 for ; Tue, 12 Jul 2005 16:07:02 GMT Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by lon-cus-01.spheriq.net with ESMTP id j6CG6v43011804 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK); Tue, 12 Jul 2005 16:07:00 GMT Received: from zeta.dmz-eu.st.com (ns2.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 17906DA45; Tue, 12 Jul 2005 16:06:57 +0000 (GMT) Received: by zeta.dmz-eu.st.com (STMicroelectronics, from userid 60012) id 063A9475BB; Tue, 12 Jul 2005 16:08:56 +0000 (GMT) Received: from zeta.dmz-eu.st.com (localhost [127.0.0.1]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id BD82475969; Tue, 12 Jul 2005 16:08:56 +0000 (UTC) Received: from mail1.bri.st.com (mail1.bri.st.com [164.129.8.218]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 106AC475B6; Tue, 12 Jul 2005 16:08:55 +0000 (GMT) Received: from terrorhawk.bri.st.com (terrorhawk.bri.st.com [164.129.15.13]) by mail1.bri.st.com (MOS 3.4.4-GR) with ESMTP id BPC01130 (AUTH "andrew stubbs"); Tue, 12 Jul 2005 17:06:53 +0100 (BST) Date: Tue, 12 Jul 2005 16:07:00 -0000 To: "Daniel Jacobowitz" Subject: Re: Invalid registers Cc: GDB References: <20050711154926.GB30937@nevyn.them.org> From: Andrew STUBBS Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-15 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID: In-Reply-To: <20050711154926.GB30937@nevyn.them.org> User-Agent: Opera M2/8.01 (Win32, build 7642) X-O-General-Status: No X-O-Spam1-Status: Not Scanned X-O-Spam2-Status: Not Scanned X-O-URL-Status: Not Scanned X-O-Virus1-Status: No X-O-Virus2-Status: Not Scanned X-O-Virus3-Status: No X-O-Virus4-Status: No X-O-Virus5-Status: Not Scanned X-O-Image-Status: Not Scanned X-O-Attach-Status: Not Scanned X-SpheriQ-Ver: 2.2.3 X-SW-Source: 2005-07/txt/msg00137.txt.bz2 On Mon, 11 Jul 2005 16:49:26 +0100, Daniel Jacobowitz wrote: > On Mon, Jul 11, 2005 at 04:39:51PM +0100, Andrew STUBBS wrote: >> Hi, >> >> I have been having a little trouble updating from GDB 5.3 to GDB 6.3. >> >> It used to be the case that GDB would report '*value not available*' >> (for >> SH - I haven't checked other architectures) if the value of a register >> is >> not known in the current stack frame. However, it no longer does this. >> Since I assume it has not acquired some way to find out what that value >> was, I also assume this is somehow broken. > > How's it supposed to know that the value is not available? If you want > to do this based on the standard call ABI, please take a look at the > current callers of dwarf2_frame_set_init_reg. Thank you. This has helped me find the right stuff to look at. I do not think I actually want to use dwarf2_frame_set_init_reg. The compiler (GCC 3.4.3) produces CFI information which I think ought to be enough. The function execute_cfa_program in dwarf2-frame.c appears to load all the relevant data (setting breakpoints in strategic places show this). If I use 'up' and 'info registers' I see the values change, which shows that the CFI data has been loaded (doesn't it?). It just appears that the 'how' field from the CFA is being ignored when the values are printed. Setting 'how' via dwarf2_frame_set_init_reg is not ignored however. It must be being reset, or perhaps not copied in the first place. Any clues? Thanks Andrew Stubbs