This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: SH patch 2 (was Re: [RFA] SH: Deprecate deprecated functions, use new frame interface)
On Mon, Sep 22, 2003 at 04:32:54PM +0200, Corinna Vinschen wrote:
> On Tue, Sep 16, 2003 at 01:30:38PM -0400, Daniel Jacobowitz wrote:
> > On Tue, Sep 16, 2003 at 07:26:06PM +0200, Corinna Vinschen wrote:
> > > FAIL: gdb.base/store.exp: print add - charest
> > > FAIL: gdb.base/store.exp: print add - short
> > > FAIL: gdb.base/store.exp: print old r - longest
> > > FAIL: gdb.base/store.exp: print old r - double
> > > FAIL: gdb.base/store.exp: print old r - doublest
> > > FAIL: gdb.base/store.exp: up print old r - longest
> > > FAIL: gdb.base/store.exp: up print old r - double
> > > FAIL: gdb.base/store.exp: up print old r - doublest
> >
> > Hmm, with the current state of the tree those failures are pretty
> > surprising. Especially if you turned on the dwarf2 unwinder, they
> > shouldn't be there.
>
> Hmm, I'm getting a bunch of "Unhandled dwarf expression opcode"
> messages. The opcode in question is 0x93, DW_OP_piece. I tweaked
> the error message in dwarf2expr.c::execute_stack_op() to print the
> opcode as well, so what I get is e.g. this:
>
> [...]
> continue^M
> Continuing.^M
> wack_longest (u=Unhandled dwarf expression opcode: 0x93^M
> ) at /home/corinna/src/gdb/src/gdb/testsuite/gdb.base/store.c:101^M
> 101 register longest l = u, r = v;^M
> (gdb) PASS: gdb.base/store.exp: continue to wack_longest
> next^M
> 102 l = add_longest (l, r);^M
> (gdb) PASS: gdb.base/store.exp: next longest
> print l^M
> $17 = -1^M
> (gdb) PASS: gdb.base/store.exp: print old l - longest
> print r^M
> Unhandled dwarf expression opcode: 0x93^M
> (gdb) FAIL: gdb.base/store.exp: print old r - longest
>
> What does that mean? How does that affect the approval of my code
> as it is now?
I can't answer the second question, but I can answer the first.
DW_OP_piece is not supported yet. Kevin B. put together a nice little
patch for a strictly limited case of DW_OP_piece triggered by the
PowerPC e500 port; I don't know if this SH occurance is similar or a
more general usage.
You may want to remove the bit which enables dwarf2 unwinding until
this is fixed? Just a thought.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer