diff --git a/tools/extract/extract.cpp b/tools/extract/extract.cpp index 9c03f85bf57..b91020db7c7 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 #include using namespace llvm; @@ -42,6 +43,7 @@ ExtractFunc("func", cl::desc("Specify function to extract"), cl::init("main"), int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, " llvm extractor\n"); + PrintStackTraceOnErrorSignal(); std::auto_ptr M(ParseBytecodeFile(InputFilename)); if (M.get() == 0) { diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp index 1abf251fce3..7b5018a5198 100644 --- a/tools/gccas/gccas.cpp +++ b/tools/gccas/gccas.cpp @@ -107,6 +107,7 @@ void AddConfiguredTransformationPasses(PassManager &PM) { int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, " llvm .s -> .o assembler for GCC\n"); + PrintStackTraceOnErrorSignal(); std::auto_ptr M; try { diff --git a/tools/gccld/gccld.cpp b/tools/gccld/gccld.cpp index 74b9ff00b2b..0f5bc18a31f 100644 --- a/tools/gccld/gccld.cpp +++ b/tools/gccld/gccld.cpp @@ -195,6 +195,7 @@ void RemoveEnv(const char * name, char ** const envp) { 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 Composite(new Module(ModuleID)); diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp index 959bdbe36cb..3176b4ce743 100644 --- a/tools/llc/llc.cpp +++ b/tools/llc/llc.cpp @@ -69,7 +69,8 @@ GetFileNameRoot(const std::string &InputFilename) // int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, " llvm system compiler\n"); - + PrintStackTraceOnErrorSignal(); + // Load the module to be compiled... std::auto_ptr M(ParseBytecodeFile(InputFilename)); if (M.get() == 0) { diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp index 15bf500bba8..96a1a34bfaa 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 @@ namespace { 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 9c03f85bf57..b91020db7c7 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 #include using namespace llvm; @@ -42,6 +43,7 @@ ExtractFunc("func", cl::desc("Specify function to extract"), cl::init("main"), int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, " llvm extractor\n"); + PrintStackTraceOnErrorSignal(); std::auto_ptr M(ParseBytecodeFile(InputFilename)); if (M.get() == 0) {