CFA expression failure
Daniel Jacobowitz
drow@false.org
Wed Jun 25 13:59:00 GMT 2008
On Wed, Jun 25, 2008 at 10:02:40AM +0800, Ye, Joey wrote:
> Daniel,
>
> We generate following DWARF2 instructions for stack alignment prologue.
> Basically we use expression to calculate CFA. But it run into some
> segfault in libmudflap and libjava. Do you have any hints what's wrong?
The only thing I could see was that this is wrong:
> DW_CFA_advance_loc: 7 to 0000000c
> DW_CFA_expression: r5 (ebp) (DW_OP_breg5: 0)
> b: 55 push %ebp
> c: 89 e5 mov %esp,%ebp
At eip == 0xc then %ebp is not yet set, so saved %ebp is not at
0(%ebp) yet. That's true at 0xe; at 0xc the saved location of %ebp is
harder to describe. But that won't explain your crashes. The debug
info looks unusual, but correct.
--
Daniel Jacobowitz
CodeSourcery
More information about the Gcc
mailing list