소스 검색

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.
Nick Mathewson 10 년 전
부모
커밋
68ed4878ca
2개의 변경된 파일16개의 추가작업 그리고 0개의 파일을 삭제
  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"
 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