On Mon, Oct 1, 2012 at 2:12 PM, Uros Bizjak <ubiz...@gmail.com> wrote:
>
> Without -fasynchronous-unwind-tables, FDE is not generated for
> backtrace_full and backtrace_simple wrappers. Without FDE, unwinding
> terminates at these functions.

I'm not opposed to -fasynchronous-unwind-tables, but now that you
bring it up I'm fairly certain that it would suffice to use
-funwind-tables.  I've been testing mainly on x86_64, and I forgot
that on x86_64 -funwind-tables is the default.  Sorry about that.  And
-fasynchronous-unwind-tables is the default also, so I could be wrong
that -funwind-tables is all that is needed.

> Attached patch fixes this problem by adding
> -fasynchronous-unwind-tables, and this way forcing FDEs for all
> functions. With this change, btest passes OK, failing log and
> runtime/pprof from libgo testsuite also pass OK.

This is basically fine but libbacktrace may be compiled by the host
compiler and that may not be GCC, so please add a configure test to
see if the compiler accepts the -fasynchronous-unwind-tables option.

Ian

Reply via email to