public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* Gdb complaints Incomplete CFI data; unspecified registers
@ 2004-12-31 19:03 H. J. Lu
  2005-01-04 20:39 ` Andrew Cagney
  0 siblings, 1 reply; 3+ messages in thread
From: H. J. Lu @ 2004-12-31 19:03 UTC (permalink / raw)
  To: gcc, GDB

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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Gdb complaints Incomplete CFI data; unspecified registers
  2004-12-31 19:03 Gdb complaints Incomplete CFI data; unspecified registers H. J. Lu
@ 2005-01-04 20:39 ` Andrew Cagney
  2005-01-04 20:54   ` Daniel Jacobowitz
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Cagney @ 2005-01-04 20:39 UTC (permalink / raw)
  To: H. J. Lu; +Cc: gcc, GDB

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.
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Gdb complaints Incomplete CFI data; unspecified registers
  2005-01-04 20:39 ` Andrew Cagney
@ 2005-01-04 20:54   ` Daniel Jacobowitz
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Jacobowitz @ 2005-01-04 20:54 UTC (permalink / raw)
  To: Andrew Cagney; +Cc: H. J. Lu, gcc, GDB

On Tue, Jan 04, 2005 at 03:39:20PM -0500, Andrew Cagney wrote:
> H. J. Lu wrote:
> >Gdb 6.3 generates many
> 
> What does your .gdbinit contain? "set complaints 1"?

Hmm, the default gdbinit for GCC contains:

# Make gdb complain about symbol reading errors.  This is so that gcc
# developers can see and fix bugs in gcc debug output.
set complaints 20

(same for GDB, but I see that HJ's debugging GCC...)

-- 
Daniel Jacobowitz

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-01-04 20:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-12-31 19:03 Gdb complaints Incomplete CFI data; unspecified registers H. J. Lu
2005-01-04 20:39 ` Andrew Cagney
2005-01-04 20:54   ` Daniel Jacobowitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).