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: problems parsing dwarf frame info on amd64 optimized code


Max Asbock wrote:
The parser works correctly in unoptimized code that uses frame pointers.
When I turn on the -O flag things fall apart. This is with gcc 3.2.2.

Try a newer gcc version, or a gcc from the development tree. Maybe something has been fixed.


The dwarf unwind info is only used by the gcc builtin dwarf unwinder, and the semantics are pretty much defined by what the gcc unwinder does. If the gcc unwinder is working, then step through it to see how it works.

It is possible that the dwarf2 unwind info is not sufficiently detailed for all libunwind features to work. We generally only emit enough info for C++ EH to work, which means we need consistent unwind info at call points, but not anyplace else. In particular, most ports do not emit unwind info for epilogues. I think only IA-64 does at the moment, and it doesn't use dwarf unwind info. We do emit unwind info for prologues as that is useful for gdb.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



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