From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27395 invoked by alias); 30 Dec 2004 19:56:56 -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 26960 invoked from network); 30 Dec 2004 19:56:43 -0000 Received: from unknown (HELO rwcrmhc12.comcast.net) (216.148.227.85) by sourceware.org with SMTP; 30 Dec 2004 19:56:43 -0000 Received: from lucon.org ([24.6.212.230]) by comcast.net (rwcrmhc12) with ESMTP id <2004123019564201400r6jbve>; Thu, 30 Dec 2004 19:56:43 +0000 Received: by lucon.org (Postfix, from userid 1000) id AB3C4640F4; Thu, 30 Dec 2004 11:56:42 -0800 (PST) Date: Thu, 30 Dec 2004 19:56:00 -0000 From: "H. J. Lu" To: gcc@gcc.gnu.org, GDB Subject: Re: GDB 6.3 assumes that DW_AT_frame_base exists Message-ID: <20041230195642.GA16984@lucon.org> References: <20041222011627.GA15293@lucon.org> <41C9577D.3010509@redhat.com> <20041222182449.GA29407@lucon.org> <20041223034318.GA19580@nevyn.them.org> <20041230192424.GA16440@lucon.org> <20041230193618.GA16661@lucon.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20041230193618.GA16661@lucon.org> User-Agent: Mutt/1.4.1i X-SW-Source: 2004-12/txt/msg00130.txt.bz2 On Thu, Dec 30, 2004 at 11:36:18AM -0800, H. J. Lu wrote: > On Thu, Dec 30, 2004 at 11:24:24AM -0800, H. J. Lu wrote: > > On Wed, Dec 22, 2004 at 10:43:19PM -0500, Daniel Jacobowitz wrote: > > > On Wed, Dec 22, 2004 at 10:24:49AM -0800, H. J. Lu wrote: > > > > > GDB not being able to debug GCC is a GDB problem. (Or possibly a > > > > > problem of the compiler than was used to compile the GCC being > > > > > debugged). Either way I am pretty sure that readelf is blameless in > > > > > this situation. > > > > > > > > I think gcc may be correct and gdb just can't handle location list > > > > correctly. > > > > > > If you believe there is a GDB bug, please submit a bug report with > > > self-contained test case. > > > > I don't know if it is a gcc or gdb bug, and I don't have a > > self-contained testcase. The only thing I see is gdb crushes on > > cc1 from gcc 4.0. It seems that gdb 6.3 assumes DW_AT_frame_base > > exists for a function. But not all functions in cc1 in gcc 4.0 > > have DW_AT_frame_base and gdb 6.3 crushes in dwarf_expr_frame_base. > > I think it is a gdb 6.3 bug since idb has no problem. When evaluating > a location list, gdb does > > ... > ctx->get_frame_base = dwarf_expr_frame_base; > ... > > dwarf_expr_frame_base uses DW_AT_frame_base to get frame base. Since > DW_AT_frame_base doesn't exist for tls_symbolic_operand, gdb crushes. DW_AT_frame_base may be needed for location lists of local variables. But in case of tls_symbolic_operand, there is no local variable. Location lists are used for function parameters. H.J.