[Top][All Lists]
[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