diff options
Diffstat (limited to 'src/OSSupport/StackTrace.cpp')
-rw-r--r-- | src/OSSupport/StackTrace.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/OSSupport/StackTrace.cpp b/src/OSSupport/StackTrace.cpp index 1ec10f20e..d0e088f4e 100644 --- a/src/OSSupport/StackTrace.cpp +++ b/src/OSSupport/StackTrace.cpp @@ -8,7 +8,9 @@ #ifdef _WIN32 #include "../StackWalker.h" #else - #include <execinfo.h> + #ifdef __GLIBC__ + #include <execinfo.h> + #endif #include <unistd.h> #endif @@ -38,11 +40,13 @@ void PrintStackTrace(void) } sw; sw.ShowCallstack(); #else - // Use the backtrace() function to get and output the stackTrace: - // Code adapted from http://stackoverflow.com/questions/77005/how-to-generate-a-stacktrace-when-my-gcc-c-app-crashes - void * stackTrace[30]; - btsize numItems = backtrace(stackTrace, ARRAYCOUNT(stackTrace)); - backtrace_symbols_fd(stackTrace, numItems, STDERR_FILENO); + #ifdef __GLIBC__ + // Use the backtrace() function to get and output the stackTrace: + // Code adapted from http://stackoverflow.com/questions/77005/how-to-generate-a-stacktrace-when-my-gcc-c-app-crashes + void * stackTrace[30]; + btsize numItems = backtrace(stackTrace, ARRAYCOUNT(stackTrace)); + backtrace_symbols_fd(stackTrace, numItems, STDERR_FILENO); + #endif #endif } |