diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-09-28 10:10:46 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-09-28 10:10:46 +0000 |
| commit | 5651cbdc1368226c8bc9d5f2f0acd67289d7f25c (patch) | |
| tree | 72437a0bb8cb3b43f18ff73436f00fb61cd2f55d | |
| parent | 9792396a06b93da4b62c32ad138ea764da27ec25 (diff) | |
| download | bcm5719-llvm-5651cbdc1368226c8bc9d5f2f0acd67289d7f25c.tar.gz bcm5719-llvm-5651cbdc1368226c8bc9d5f2f0acd67289d7f25c.zip | |
Make backtraces work again with both the configure and cmake build.
llvm-svn: 164817
| -rw-r--r-- | llvm/CMakeLists.txt | 5 | ||||
| -rw-r--r-- | llvm/include/llvm/Config/config.h.cmake | 3 | ||||
| -rw-r--r-- | llvm/lib/Support/Unix/Signals.inc | 2 |
3 files changed, 9 insertions, 1 deletions
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index df781f52cdd..79995418afc 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -115,6 +115,11 @@ if(LLVM_ENABLE_TIMESTAMPS) set(ENABLE_TIMESTAMPS 1) endif() +option(LLVM_ENABLE_BACKTRACES "Enable embedding backtraces on crash." ON) +if(LLVM_ENABLE_BACKTRACES) + set(ENABLE_BACKTRACES 1) +endif() + option(LLVM_ENABLE_FFI "Use libffi to call external functions from the interpreter" OFF) set(FFI_LIBRARY_DIR "" CACHE PATH "Additional directory, where CMake should search for libffi.so") set(FFI_INCLUDE_DIR "" CACHE PATH "Additional directory, where CMake should search for ffi.h or ffi/ffi.h") diff --git a/llvm/include/llvm/Config/config.h.cmake b/llvm/include/llvm/Config/config.h.cmake index eb20b6470b3..ac760f911a0 100644 --- a/llvm/include/llvm/Config/config.h.cmake +++ b/llvm/include/llvm/Config/config.h.cmake @@ -17,6 +17,9 @@ /* Default <path> to all compiler invocations for --sysroot=<path>. */ #undef DEFAULT_SYSROOT +/* Define if you want backtraces on crash */ +#cmakedefine ENABLE_BACKTRACES + /* Define if position independent code is enabled */ #cmakedefine ENABLE_PIC diff --git a/llvm/lib/Support/Unix/Signals.inc b/llvm/lib/Support/Unix/Signals.inc index 7d161a6a056..cf64fa8f385 100644 --- a/llvm/lib/Support/Unix/Signals.inc +++ b/llvm/lib/Support/Unix/Signals.inc @@ -243,7 +243,7 @@ void llvm::sys::AddSignalHandler(void (*FnPtr)(void *), void *Cookie) { // On glibc systems we have the 'backtrace' function, which works nicely, but // doesn't demangle symbols. static void PrintStackTrace(void *) { -#if defined(HAVE_BACKTRACE) && defined(ENABLE_BACKTRACE) +#if defined(HAVE_BACKTRACE) && defined(ENABLE_BACKTRACES) static void* StackTrace[256]; // Use backtrace() to output a backtrace on Linux systems with glibc. int depth = backtrace(StackTrace, |

