From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 363 invoked by alias); 25 Nov 2005 13:50:28 -0000 Received: (qmail 354 invoked by uid 22791); 25 Nov 2005 13:50:27 -0000 X-Spam-Check-By: sourceware.org Received: from lon-del-02.spheriq.net (HELO lon-del-02.spheriq.net) (195.46.50.98) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 25 Nov 2005 13:50:25 +0000 Received: from lon-out-02.spheriq.net ([195.46.50.130]) by lon-del-02.spheriq.net with ESMTP id jAPDoM2Z005260 for ; Fri, 25 Nov 2005 13:50:22 GMT Received: from lon-cus-02.spheriq.net (lon-cus-02.spheriq.net [195.46.50.38]) by lon-out-02.spheriq.net with ESMTP id jAPDoMDi013227 for ; Fri, 25 Nov 2005 13:50:22 GMT Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by lon-cus-02.spheriq.net with ESMTP id jAPDoKok007885 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK) for ; Fri, 25 Nov 2005 13:50:21 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 9F1B1DA4A for ; Fri, 25 Nov 2005 13:50:19 +0000 (GMT) Received: by zeta.dmz-eu.st.com (STMicroelectronics, from userid 60012) id 2F6224744C; Fri, 25 Nov 2005 13:53:22 +0000 (GMT) Received: from zeta.dmz-eu.st.com (localhost [127.0.0.1]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id E3BCC75995 for ; Fri, 25 Nov 2005 13:53:21 +0000 (UTC) Received: from mail2.gnb.st.com (mail2.gnb.st.com [164.129.119.59]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 07DCF4743F for ; Fri, 25 Nov 2005 13:53:20 +0000 (GMT) Received: from st.com (gnx2364.gnb.st.com [164.129.122.218]) by mail2.gnb.st.com (MOS 3.5.8-GR) with ESMTP id CFV09601 (AUTH lyon); Fri, 25 Nov 2005 14:50:13 +0100 (CET) Message-ID: <43871694.3050200@st.com> Date: Fri, 25 Nov 2005 17:54:00 -0000 From: Christophe LYON User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.3) Gecko/20040924 MIME-Version: 1.0 To: gdb-patches@sources.redhat.com Subject: Re: [RFC] add offset support to DWARF2_FRAME_REG_CFA References: <4382E5B0.3030702@st.com> <200511221859.jAMIxvQv003229@elgar.sibelius.xs4all.nl> <43842C4F.8070405@st.com> <200511242237.jAOMbpxi014472@elgar.sibelius.xs4all.nl> In-Reply-To: <200511242237.jAOMbpxi014472@elgar.sibelius.xs4all.nl> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-O-Spoofed: Not Scanned 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: 4.2.0 X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2005-11/txt/msg00454.txt.bz2 > Thanks! You seemed to have forgotten about my suggestion to introduce > DWARF2_FRAME_REG_CFA_OFFSET. The problem is that as-is, your patch > seems to break sparc64 and cris. By introducing > DWARF2_FRAME_CFA_OFFSET all existing code will be safe. > I see. So here is an updated patch. Is it OK now? Thanks, Christophe. 2005-11-25 Christophe Lyon * dwarf2-frame.c: (dwarf2_frame_prev_register): handle DWARF2_FRAME_REG_CFA_OFFSET * dwarf2-frame.h: add DWARF2_FRAME_REG_CFA_OFFSET to enum dwarf2_frame_reg_rule Index: dwarf2-frame.c =================================================================== --- dwarf2-frame.c (revision 96) +++ dwarf2-frame.c (working copy) @@ -918,6 +921,19 @@ } break; + case DWARF2_FRAME_REG_CFA_OFFSET: + *optimizedp = 0; + *lvalp = not_lval; + *addrp = 0; + *realnump = -1; + if (valuep) + { + /* Store the value. */ + store_typed_address (valuep, builtin_type_void_data_ptr, + cache->cfa + cache->reg[regnum].loc.offset); + } + break; + case DWARF2_FRAME_REG_RA_OFFSET: *optimizedp = 0; *lvalp = not_lval; Index: dwarf2-frame.h =================================================================== --- dwarf2-frame.h (revision 96) +++ dwarf2-frame.h (working copy) @@ -55,7 +55,8 @@ used internally by GDB. */ DWARF2_FRAME_REG_RA, /* Return Address. */ DWARF2_FRAME_REG_RA_OFFSET, /* Return Address with offset. */ - DWARF2_FRAME_REG_CFA /* Call Frame Address. */ + DWARF2_FRAME_REG_CFA, /* Call Frame Address. */ + DWARF2_FRAME_REG_CFA_OFFSET /* Call Frame Address with offset. */ }; /* Register state. */