From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20596 invoked by alias); 31 Dec 2004 19:03:09 -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 20572 invoked from network); 31 Dec 2004 19:03:03 -0000 Received: from unknown (HELO rwcrmhc11.comcast.net) (204.127.198.35) by sourceware.org with SMTP; 31 Dec 2004 19:03:03 -0000 Received: from lucon.org ([24.6.212.230]) by comcast.net (rwcrmhc11) with ESMTP id <2004123119030201300c6s0je>; Fri, 31 Dec 2004 19:03:03 +0000 Received: by lucon.org (Postfix, from userid 1000) id B5CBB640F4; Fri, 31 Dec 2004 11:03:02 -0800 (PST) Date: Fri, 31 Dec 2004 19:03:00 -0000 From: "H. J. Lu" To: gcc@gcc.gnu.org, GDB Subject: Gdb complaints Incomplete CFI data; unspecified registers Message-ID: <20041231190302.GA3168@lucon.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.1i X-SW-Source: 2004-12/txt/msg00141.txt.bz2 Gdb 6.3 generates many (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.