libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libunwind] problems parsing dwarf frame info on amd64 optimized cod


From: David Mosberger
Subject: Re: [libunwind] problems parsing dwarf frame info on amd64 optimized code
Date: Fri, 12 Mar 2004 11:40:23 -0800

>>>>> On Fri, 12 Mar 2004 10:37:02 -0800, Max Asbock <address@hidden> said:

  Max> In apply_reg_state() this could translate to:

  Max> for (i = 0; i < DWARF_NUM_PRESERVED_REGS; ++i)
  Max> {
  Max> switch ((dwarf_where_t) rs->reg[i].where)
  Max> {
  Max> ......
  Max> case DWARF_WHERE_SAME:
  Max> if (i == <REGNUM_SP>)
  Max> if (ret = dwarf_put(c, c->loc[i], cfa))
  Max> return ret;
  Max> .......

  Max> The test case I am using is bt.c with the signal stuff removed.
  Max> After applying this change it works.

That may work for this particular case, but it's almost certainly
wrong: it will modify the initial machine-state, which is not what you
want.  Instead, I think you'll need to use c->cfa "in the right
places" (I'm not sure yet what the right places are...).

        --david


reply via email to

[Prev in Thread] Current Thread [Next in Thread]