pass our compiler -fasynchronous-unwind-tables by default

This should make more platforms (in particular, ones with compilers
where -fomit-frame-pointer is on by default but table generation
isn't) support backtrace generation.  Thanks to cypherpunks for this
one.

Fixes bug 11047; bugfix on 0.2.5.2-alpha.
This commit is contained in:
Nick Mathewson 2014-02-24 11:41:53 -05:00
parent e1deb01e5f
commit 68ed4878ca
2 changed files with 16 additions and 0 deletions

9
changes/bug11047 Normal file
View File

@ -0,0 +1,9 @@
o Minor bugfixes:
- Build using the -fasynchronous-unwind-tables option so that more
platforms (in particular, ones like 32-bit Intel where the
-fomit-frame-pointer option is on by default and table
generation is not) will support generating backtraces. This
doesn't yet add Windows support yet; only Linux, OSX, and some BSD
are affected. Reported by 'cypherpunks'; fixes bug 11047; bugfix
on 0.2.5.2-alpha.

View File

@ -648,6 +648,13 @@ fi
CFLAGS="$saved_CFLAGS"
AC_SUBST(F_OMIT_FRAME_POINTER)
dnl ------------------------------------------------------
dnl If we are adding -fomit-frame-pointer (or if the compiler's doing it
dnl for us, as GCC 4.6 and later do at many optimization levels), then
dnl we should try to add -fasynchronous-unwind-tables so that our backtrace
dnl code will work.
TOR_CHECK_CFLAGS(-fasynchronous-unwind-tables)
dnl ------------------------------------------------------
dnl Where do you live, libnatpmp? And how do we call you?
dnl There are no packages for Debian or Redhat as of this patch