This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [CRIS] dwarf2 frame sniffer problem?


Andrew Cagney wrote:

Does this:


        /* 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));
        else
          cache->reg[regnum] = fs->regs.reg[column];

sound like your problem? It's possible to specify initial values of such registers with:

I do get that complaint, and it seems a lot of registers are set to DWARF2_FRAME_REG_UNSPECIFIED.


/* Set the architecture-specific register state initialization
   function for GDBARCH to INIT_REG.  */

extern void dwarf2_frame_set_init_reg (struct gdbarch *gdbarch,
void (*init_reg) (struct gdbarch *, int,
struct dwarf2_frame_state_reg *));

Thanks for the tip, I hadn't seen that. Reading the s390 implementation of dwarf2_frame_init_reg I get the impression that that information should have been there from the beginning (emitted by gcc that is) since it seems to be ABI/calling convention related. But I'll try and implement something similar.


--
Orjan Friberg
Axis Communications


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]