From: Nick Mathewson Date: Mon, 24 Feb 2014 16:41:53 +0000 (-0500) Subject: pass our compiler -fasynchronous-unwind-tables by default X-Git-Tag: tor-0.2.5.3-alpha~57^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=68ed4878ca97902c8b909d88dd855d71e6647376;p=thirdparty%2Ftor.git 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. --- diff --git a/changes/bug11047 b/changes/bug11047 new file mode 100644 index 0000000000..25acd8e36d --- /dev/null +++ b/changes/bug11047 @@ -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. diff --git a/configure.ac b/configure.ac index 871ca5613c..187fadc3b0 100644 --- a/configure.ac +++ b/configure.ac @@ -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