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" CFLAGS="$saved_CFLAGS"
AC_SUBST(F_OMIT_FRAME_POINTER) 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 ------------------------------------------------------
dnl Where do you live, libnatpmp? And how do we call you? 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 dnl There are no packages for Debian or Redhat as of this patch