summaryrefslogtreecommitdiff
path: root/tools/lli/lli.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lli/lli.cpp')
-rw-r--r--tools/lli/lli.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp
index be9f999a54..a9d905968f 100644
--- a/tools/lli/lli.cpp
+++ b/tools/lli/lli.cpp
@@ -23,6 +23,7 @@
#include "llvm/ExecutionEngine/GenericValue.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/PluginLoader.h"
+#include "llvm/System/Process.h"
#include "llvm/System/Signals.h"
#include <iostream>
@@ -45,6 +46,10 @@ namespace {
FakeArgv0("fake-argv0",
cl::desc("Override the 'argv[0]' value passed into the executing"
" program"), cl::value_desc("executable"));
+
+ cl::opt<bool>
+ DisableCoreFiles("disable-core-files", cl::Hidden,
+ cl::desc("Disable emission of core files if possible"));
}
//===----------------------------------------------------------------------===//
@@ -56,6 +61,10 @@ int main(int argc, char **argv, char * const *envp) {
" llvm interpreter & dynamic compiler\n");
sys::PrintStackTraceOnErrorSignal();
+ // If the user doesn't want core files, disable them.
+ if (DisableCoreFiles)
+ sys::Process::PreventCoreFiles();
+
// Load the bytecode...
std::string ErrorMsg;
ModuleProvider *MP = 0;