blob: cf57b6b1b809318e0a4bd05a87ca0950f3fc5fd6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
diff --git xpcom/base/nsStackWalk.cpp xpcom/base/nsStackWalk.cpp
index bb0e15b..7641267 100644
--- xpcom/base/nsStackWalk.cpp
+++ xpcom/base/nsStackWalk.cpp
@@ -23,6 +23,12 @@ struct CriticalAddress {
};
static CriticalAddress gCriticalAddress;
+// for _Unwind_Backtrace from libcxxrt or libunwind
+// cxxabi.h from libcxxrt implicitly includes unwind.h first
+#if defined(HAVE__UNWIND_BACKTRACE) && !defined(_GNU_SOURCE)
+#define _GNU_SOURCE
+#endif
+
#if defined(HAVE_DLOPEN) || defined(XP_MACOSX)
#include <dlfcn.h>
#endif
@@ -1222,9 +1228,6 @@ NS_StackWalk(NS_WalkStackCallback aCallback, uint32_t aSkipFrames,
#elif defined(HAVE__UNWIND_BACKTRACE)
// libgcc_s.so symbols _Unwind_Backtrace@@GCC_3.3 and _Unwind_GetIP@@GCC_3.0
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
#include <unwind.h>
struct unwind_info {
|