problems parsing dwarf frame info on amd64 optimized code
Richard Henderson
rth@redhat.com
Wed Mar 10 19:41:00 GMT 2004
On Mon, Mar 08, 2004 at 10:44:03AM -0800, Max Asbock wrote:
> When I turn on the -O flag things fall apart. This is with gcc 3.2.2.
> The parser finds two rules in the CIE:
> CFA_def_cfa r7+0x8 (rsp)
> CFA_offset r16 at cfa-0x8 (return address)
> and then in the FDE it finds:
> ...
> CFA_def_cfa_offset <offset>
This is correct.
> This works for stepping from the first frame to the second, but
> on the next step it fails, since the CFA is read again from r7 (rsp)
> which hasn't changed.
Huh? I think you need to provide a concrete example because what
you're saying doesn't make any sense. Particularly "stepping from
first frame to the second". There's only one frame in any function
generated by gcc...
> And it seems that the CFA <offset> is the
> offset relative to the current CFA, not relative to the value in rsp.
Incorrect.
r~
More information about the Gcc
mailing list