From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20008 invoked by alias); 26 Jan 2004 19:57:20 -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 19976 invoked from network); 26 Jan 2004 19:57:19 -0000 Received: from unknown (HELO localhost.redhat.com) (66.30.197.194) by sources.redhat.com with SMTP; 26 Jan 2004 19:57:19 -0000 Received: from gnu.org (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id C01BA2B8F; Mon, 26 Jan 2004 14:57:18 -0500 (EST) Message-ID: <4015711E.6090005@gnu.org> Date: Mon, 26 Jan 2004 19:57:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:1.0.2) Gecko/20030820 MIME-Version: 1.0 To: gdb-patches@sources.redhat.com Subject: [obish/dwarf2] Describe frame-base hack Content-Type: multipart/mixed; boundary="------------080506050609040504050603" X-SW-Source: 2004-01/txt/msg00671.txt.bz2 This is a multi-part message in MIME format. --------------080506050609040504050603 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-length: 126 Hello, Stumbled across this during testing of symbol_ops. This adds a comment alerting the reader as to a problem. Andrew --------------080506050609040504050603 Content-Type: text/plain; name="diffs" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="diffs" Content-length: 1195 Index: ChangeLog 2004-01-26 Andrew Cagney * dwarf2read.c (read_func_scope): Document hack. Index: dwarf2read.c =================================================================== RCS file: /cvs/src/src/gdb/dwarf2read.c,v retrieving revision 1.124 diff -u -r1.124 dwarf2read.c --- dwarf2read.c 23 Jan 2004 22:41:28 -0000 1.124 +++ dwarf2read.c 26 Jan 2004 19:54:06 -0000 @@ -2211,6 +2211,15 @@ it. */ attr = dwarf_attr (die, DW_AT_frame_base); if (attr) + /* FIXME: cagney/2004-01-26: The DW_AT_frame_base's location + expression is being recorded directly in the function's symbol + and not in a separate frame-base object. I guess this hack is + to avoid adding some sort of frame-base adjunct/annex to the + function's symbol :-(. The problem with doing this is that it + results in a function symbol with a location expression that + has nothing to do with the location of the function, ouch! The + relationship should be: a function's symbol has-a frame base; a + frame-base has-a location expression. */ dwarf2_symbol_mark_computed (attr, new->name, cu); list_in_scope = &local_symbols; --------------080506050609040504050603--