Make sure to print a stack trace whenever an error signal is delivered to
the tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11633 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/extract/extract.cpp b/tools/extract/extract.cpp
index 9c03f85..b91020d 100644
--- a/tools/extract/extract.cpp
+++ b/tools/extract/extract.cpp
@@ -19,6 +19,7 @@
#include "llvm/Transforms/IPO.h"
#include "llvm/Target/TargetData.h"
#include "Support/CommandLine.h"
+#include "Support/Signals.h"
#include <memory>
#include <fstream>
using namespace llvm;
@@ -42,6 +43,7 @@
int main(int argc, char **argv) {
cl::ParseCommandLineOptions(argc, argv, " llvm extractor\n");
+ PrintStackTraceOnErrorSignal();
std::auto_ptr<Module> M(ParseBytecodeFile(InputFilename));
if (M.get() == 0) {
diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp
index 1abf251..7b5018a 100644
--- a/tools/gccas/gccas.cpp
+++ b/tools/gccas/gccas.cpp
@@ -107,6 +107,7 @@
int main(int argc, char **argv) {
cl::ParseCommandLineOptions(argc, argv, " llvm .s -> .o assembler for GCC\n");
+ PrintStackTraceOnErrorSignal();
std::auto_ptr<Module> M;
try {
diff --git a/tools/gccld/gccld.cpp b/tools/gccld/gccld.cpp
index 74b9ff0..0f5bc18 100644
--- a/tools/gccld/gccld.cpp
+++ b/tools/gccld/gccld.cpp
@@ -195,6 +195,7 @@
int main(int argc, char **argv, char **envp) {
cl::ParseCommandLineOptions(argc, argv, " llvm linker for GCC\n");
+ PrintStackTraceOnErrorSignal();
std::string ModuleID("gccld-output");
std::auto_ptr<Module> Composite(new Module(ModuleID));
diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp
index 959bdbe..3176b4c 100644
--- a/tools/llc/llc.cpp
+++ b/tools/llc/llc.cpp
@@ -69,7 +69,8 @@
//
int main(int argc, char **argv) {
cl::ParseCommandLineOptions(argc, argv, " llvm system compiler\n");
-
+ PrintStackTraceOnErrorSignal();
+
// Load the module to be compiled...
std::auto_ptr<Module> M(ParseBytecodeFile(InputFilename));
if (M.get() == 0) {
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp
index 15bf500..96a1a34 100644
--- a/tools/lli/lli.cpp
+++ b/tools/lli/lli.cpp
@@ -20,6 +20,7 @@
#include "llvm/ExecutionEngine/ExecutionEngine.h"
#include "llvm/ExecutionEngine/GenericValue.h"
#include "Support/CommandLine.h"
+#include "Support/Signals.h"
using namespace llvm;
@@ -46,6 +47,7 @@
int main(int argc, char **argv, char * const *envp) {
cl::ParseCommandLineOptions(argc, argv,
" llvm interpreter & dynamic compiler\n");
+ PrintStackTraceOnErrorSignal();
// Load the bytecode...
std::string ErrorMsg;
diff --git a/tools/llvm-extract/llvm-extract.cpp b/tools/llvm-extract/llvm-extract.cpp
index 9c03f85..b91020d 100644
--- a/tools/llvm-extract/llvm-extract.cpp
+++ b/tools/llvm-extract/llvm-extract.cpp
@@ -19,6 +19,7 @@
#include "llvm/Transforms/IPO.h"
#include "llvm/Target/TargetData.h"
#include "Support/CommandLine.h"
+#include "Support/Signals.h"
#include <memory>
#include <fstream>
using namespace llvm;
@@ -42,6 +43,7 @@
int main(int argc, char **argv) {
cl::ParseCommandLineOptions(argc, argv, " llvm extractor\n");
+ PrintStackTraceOnErrorSignal();
std::auto_ptr<Module> M(ParseBytecodeFile(InputFilename));
if (M.get() == 0) {