diff options
author | José Fonseca <[email protected]> | 2010-08-29 12:05:36 +0100 |
---|---|---|
committer | José Fonseca <[email protected]> | 2010-08-30 13:27:28 +0100 |
commit | e4c3e7f9d8eae05c83f6e1fc54dc63ded3c12d12 (patch) | |
tree | b1388ca59ccdca82ca606733f5289fb8403074d1 | |
parent | 7a08dbcf55d4c959907086a5e4851e0cab0b9f67 (diff) |
gallivm: Disable LLVM's pretty stack trace dumper.
By default LLVM adds a signal handler to output a pretty stack trace.
This signal handler is never removed, causing problems when unloading
the shared object where the gallium driver resides.
Thanks to Chris Li for finding this.
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp index 92f9adfc18d..48baf7c425c 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp @@ -40,6 +40,7 @@ #include <llvm/ExecutionEngine/ExecutionEngine.h> #include <llvm/ExecutionEngine/JITEventListener.h> #include <llvm/Support/CommandLine.h> +#include <llvm/Support/PrettyStackTrace.h> #include "pipe/p_config.h" #include "util/u_debug.h" @@ -161,6 +162,13 @@ lp_set_target_options(void) llvm::cl::ParseCommandLineOptions(2, const_cast<char**>(options)); first = FALSE; } + + /* + * By default LLVM adds a signal handler to output a pretty stack trace. + * This signal handler is never removed, causing problems when unloading the + * shared object where the gallium driver resides. + */ + llvm::DisablePrettyStackTrace = true; } |