This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: CFA expression failure


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]