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