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) {