This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: CFA expression failure
On Tue, Jun 24, 2008 at 08:40:18PM -0700, H.J. Lu wrote:
> I think the problem is in uw_update_context_1. REG_SAVED_EXP
> and REG_SAVED_VAL_EXP may use other registers as shown above:
>
> DW_CFA_expression: r6 (esi) (DW_OP_breg5: -8)
>
> They should be handle last. I am testing this patch. Does it
> make senses?
I think that rather than delaying such expressions, you need to
evaluate into a temporary context. DW_OP_breg5 means the current
frame's %ebp; DW_CFA_expression: r5 describes the location of the
previous frame's %ebp. They're different registers. Otherwise this
is going to be too order-sensitive.
--
Daniel Jacobowitz
CodeSourcery