From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20530 invoked by alias); 4 Jan 2005 20:39:49 -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 20152 invoked from network); 4 Jan 2005 20:39:39 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org with SMTP; 4 Jan 2005 20:39:39 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.11/8.12.11) with ESMTP id j04Kdc81000376 for ; Tue, 4 Jan 2005 15:39:38 -0500 Received: from localhost.redhat.com (vpn50-80.rdu.redhat.com [172.16.50.80]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id j04Kdcr06149; Tue, 4 Jan 2005 15:39:38 -0500 Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id C70077D79; Tue, 4 Jan 2005 15:39:21 -0500 (EST) Message-ID: <41DAFEF8.3010209@gnu.org> Date: Tue, 04 Jan 2005 20:39:00 -0000 From: Andrew Cagney User-Agent: Mozilla Thunderbird 0.8 (X11/20041020) MIME-Version: 1.0 To: "H. J. Lu" Cc: gcc@gcc.gnu.org, GDB Subject: Re: Gdb complaints Incomplete CFI data; unspecified registers References: <20041231190302.GA3168@lucon.org> In-Reply-To: <20041231190302.GA3168@lucon.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2005-01/txt/msg00032.txt.bz2 H. J. Lu wrote: > Gdb 6.3 generates many What does your .gdbinit contain? "set complaints 1"? > (gdb) bt > #0 loc_descriptor (rtl=0xb7d671d4, can_use_fbreg=1 '\001') > at /net/gnu/export/gnu/src/gcc/gcc/gcc/dwarf2out.c:8737 > During symbol reading, Incomplete CFI data; unspecified registers at > 0x0813b181. > During symbol reading, Incomplete CFI data; unspecified registers at > 0x0813b181. > During symbol reading, Incomplete CFI data; unspecified registers at > 0x0813b181. > During symbol reading, Incomplete CFI data; unspecified registers at > 0x0813b181. > During symbol reading, Incomplete CFI data; unspecified registers at > 0x0813b181. > During symbol reading, Incomplete CFI data; unspecified registers at > 0x0813b181. > During symbol reading, Incomplete CFI data; unspecified registers at > 0x0813b181. > During symbol reading, Incomplete CFI data; unspecified registers at > 0x0813b181. > #1 0x0813c15e in add_location_or_const_value_attribute > (die=0xb7d66784, > decl=0xb7d6021c, attr=DW_AT_location) > at /net/gnu/export/gnu/src/gcc/gcc/gcc/dwarf2out.c:10041 > During symbol reading, Incomplete CFI data; unspecified registers at > 0x0813c0c9. > During symbol reading, Incomplete CFI data; unspecified registers at > 0x0813c0c9. > During symbol reading, Incomplete CFI data; unspecified registers at > 0x0813c0c9. > During symbol reading, Incomplete CFI data; unspecified registers at > 0x0813c0c9. > > on binaries generated by gcc 4.0. According to the comments in gdb 6.3: > > /* NOTE: cagney/2003-09-05: CFI should specify the disposition > of all debug info registers. If it doesn't, complain (but > not too loudly). It turns out that GCC assumes that an > unspecified register implies "same value" when CFI (draft > 7) specifies nothing at all. Such a register could equally > be interpreted as "undefined". Also note that this check > isn't sufficient; it only checks that all registers in the > range [0 .. max column] are specified, and won't detect > problems when a debug info register falls outside of the > table. We need a way of iterating through all the valid > DWARF2 register numbers. */ > if (fs->regs.reg[column].how == DWARF2_FRAME_REG_UNSPECIFIED) > complaint (&symfile_complaints, > "Incomplete CFI data; unspecified registers at > 0x%s", > paddr (fs->pc)); > > it is intentional. My question is why gdb generates those annoying > messages at all if it can detect the code is generated by gcc. > > > H.J. >