Browse Source

Merge branch 'bug11047'

Nick Mathewson 11 years ago
parent
commit
0efa2821c7
2 changed files with 16 additions and 0 deletions
  1. 9 0
      changes/bug11047
  2. 7 0
      configure.ac

+ 9 - 0
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.

+ 7 - 0
configure.ac

@@ -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