summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Fonseca <[email protected]>2010-08-29 12:05:36 +0100
committerJosé Fonseca <[email protected]>2010-08-30 13:27:28 +0100
commite4c3e7f9d8eae05c83f6e1fc54dc63ded3c12d12 (patch)
treeb1388ca59ccdca82ca606733f5289fb8403074d1
parent7a08dbcf55d4c959907086a5e4851e0cab0b9f67 (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.cpp8
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;
}