[llvm] r272232 - Search for llvm-symbolizer binary in the same directory as argv[0], before
Richard Smith via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 8 18:04:44 PDT 2016
Note, the corresponding changes in other LLVM subprojects are
r272233-r272235; syncs in [272232,272235) may result in build failures.
On Wed, Jun 8, 2016 at 5:53 PM, Richard Smith via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Author: rsmith
> Date: Wed Jun 8 19:53:21 2016
> New Revision: 272232
>
> URL: http://llvm.org/viewvc/llvm-project?rev=272232&view=rev
> Log:
> Search for llvm-symbolizer binary in the same directory as argv[0], before
> looking for it along $PATH. This allows installs of LLVM tools outside of
> $PATH to find the symbolizer and produce pretty backtraces if they crash.
>
> Modified:
> llvm/trunk/include/llvm/Support/Signals.h
> llvm/trunk/lib/Support/Signals.cpp
> llvm/trunk/lib/Support/Unix/Signals.inc
> llvm/trunk/lib/Support/Windows/Signals.inc
> llvm/trunk/tools/bugpoint/bugpoint.cpp
> llvm/trunk/tools/dsymutil/dsymutil.cpp
> llvm/trunk/tools/llc/llc.cpp
> llvm/trunk/tools/lli/lli.cpp
> llvm/trunk/tools/llvm-ar/llvm-ar.cpp
> llvm/trunk/tools/llvm-as/llvm-as.cpp
> llvm/trunk/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
> llvm/trunk/tools/llvm-cov/CodeCoverage.cpp
> llvm/trunk/tools/llvm-cov/TestingSupport.cpp
> llvm/trunk/tools/llvm-cov/gcov.cpp
> llvm/trunk/tools/llvm-cov/llvm-cov.cpp
> llvm/trunk/tools/llvm-cxxdump/llvm-cxxdump.cpp
> llvm/trunk/tools/llvm-dis/llvm-dis.cpp
> llvm/trunk/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
> llvm/trunk/tools/llvm-extract/llvm-extract.cpp
> llvm/trunk/tools/llvm-jitlistener/llvm-jitlistener.cpp
> llvm/trunk/tools/llvm-link/llvm-link.cpp
> llvm/trunk/tools/llvm-lto/llvm-lto.cpp
> llvm/trunk/tools/llvm-mc/llvm-mc.cpp
> llvm/trunk/tools/llvm-mcmarkup/llvm-mcmarkup.cpp
> llvm/trunk/tools/llvm-nm/llvm-nm.cpp
> llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp
> llvm/trunk/tools/llvm-pdbdump/llvm-pdbdump.cpp
> llvm/trunk/tools/llvm-profdata/llvm-profdata.cpp
> llvm/trunk/tools/llvm-readobj/llvm-readobj.cpp
> llvm/trunk/tools/llvm-rtdyld/llvm-rtdyld.cpp
> llvm/trunk/tools/llvm-size/llvm-size.cpp
> llvm/trunk/tools/llvm-symbolizer/llvm-symbolizer.cpp
> llvm/trunk/tools/obj2yaml/obj2yaml.cpp
> llvm/trunk/tools/opt/opt.cpp
> llvm/trunk/tools/sancov/sancov.cc
> llvm/trunk/tools/verify-uselistorder/verify-uselistorder.cpp
> llvm/trunk/tools/yaml2obj/yaml2obj.cpp
> llvm/trunk/utils/FileCheck/FileCheck.cpp
> llvm/trunk/utils/KillTheDoctor/KillTheDoctor.cpp
> llvm/trunk/utils/TableGen/TableGen.cpp
> llvm/trunk/utils/unittest/UnitTestMain/TestMain.cpp
>
> Modified: llvm/trunk/include/llvm/Support/Signals.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/Signals.h?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/Support/Signals.h (original)
> +++ llvm/trunk/include/llvm/Support/Signals.h Wed Jun 8 19:53:21 2016
> @@ -38,8 +38,14 @@ namespace sys {
>
> /// When an error signal (such as SIBABRT or SIGSEGV) is delivered to
> the
> /// process, print a stack trace and then exit.
> - /// @brief Print a stack trace if a fatal signal occurs.
> - void PrintStackTraceOnErrorSignal(bool DisableCrashReporting = false);
> + /// \brief Print a stack trace if a fatal signal occurs.
> + /// \param Argv0 the current binary name, used to find the symbolizer
> + /// relative to the current binary before searching $PATH; can be
> + /// StringRef(), in which case we will only search $PATH.
> + /// \param DisableCrashReporting if \c true, disable the normal crash
> + /// reporting mechanisms on the underlying operating system.
> + void PrintStackTraceOnErrorSignal(StringRef Argv0,
> + bool DisableCrashReporting = false);
>
> /// Disable all system dialog boxes that appear when the process
> crashes.
> void DisableSystemDialogsOnCrash();
>
> Modified: llvm/trunk/lib/Support/Signals.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Signals.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Support/Signals.cpp (original)
> +++ llvm/trunk/lib/Support/Signals.cpp Wed Jun 8 19:53:21 2016
> @@ -62,28 +62,40 @@ static FormattedNumber format_ptr(void *
> return format_hex((uint64_t)PC, PtrWidth);
> }
>
> -static bool printSymbolizedStackTrace(void **StackTrace, int Depth,
> +static bool printSymbolizedStackTrace(StringRef Argv0,
> + void **StackTrace, int Depth,
> llvm::raw_ostream &OS)
> LLVM_ATTRIBUTE_USED;
>
> /// Helper that launches llvm-symbolizer and symbolizes a backtrace.
> -static bool printSymbolizedStackTrace(void **StackTrace, int Depth,
> +static bool printSymbolizedStackTrace(StringRef Argv0,
> + void **StackTrace, int Depth,
> llvm::raw_ostream &OS) {
> + // Don't recursively invoke the llvm-symbolizer binary.
> + if (Argv0.find("llvm-symbolizer") != std::string::npos)
> + return false;
> +
> // FIXME: Subtract necessary number from StackTrace entries to turn
> return addresses
> // into actual instruction addresses.
> - // Use llvm-symbolizer tool to symbolize the stack traces.
> - ErrorOr<std::string> LLVMSymbolizerPathOrErr =
> - sys::findProgramByName("llvm-symbolizer");
> + // Use llvm-symbolizer tool to symbolize the stack traces. First look
> for it
> + // alongside our binary, then in $PATH.
> + ErrorOr<std::string> LLVMSymbolizerPathOrErr = std::error_code();
> + if (!Argv0.empty()) {
> + StringRef Parent = llvm::sys::path::parent_path(Argv0);
> + if (!Parent.empty())
> + LLVMSymbolizerPathOrErr = sys::findProgramByName("llvm-symbolizer",
> Parent);
> + }
> + if (!LLVMSymbolizerPathOrErr)
> + LLVMSymbolizerPathOrErr = sys::findProgramByName("llvm-symbolizer");
> if (!LLVMSymbolizerPathOrErr)
> return false;
> const std::string &LLVMSymbolizerPath = *LLVMSymbolizerPathOrErr;
> - // We don't know argv0 or the address of main() at this point, but try
> - // to guess it anyway (it's possible on some platforms).
> - std::string MainExecutableName = sys::fs::getMainExecutable(nullptr,
> nullptr);
> - if (MainExecutableName.empty() ||
> - MainExecutableName.find("llvm-symbolizer") != std::string::npos)
> - return false;
>
> + // If we don't know argv0 or the address of main() at this point, try
> + // to guess it anyway (it's possible on some platforms).
> + std::string MainExecutableName =
> + Argv0.empty() ? sys::fs::getMainExecutable(nullptr, nullptr)
> + : (std::string)Argv0;
> BumpPtrAllocator Allocator;
> StringSaver StrPool(Allocator);
> std::vector<const char *> Modules(Depth, nullptr);
>
> Modified: llvm/trunk/lib/Support/Unix/Signals.inc
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Unix/Signals.inc?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Support/Unix/Signals.inc (original)
> +++ llvm/trunk/lib/Support/Unix/Signals.inc Wed Jun 8 19:53:21 2016
> @@ -68,6 +68,8 @@ static void (*InterruptFunction)() = nul
>
> static ManagedStatic<std::vector<std::string>> FilesToRemove;
>
> +static StringRef Argv0;
> +
> // IntSigs - Signals that represent requested termination. There's no bug
> // or failure, or if there is, it's not our direct responsibility. For
> whatever
> // reason, our continued execution is no longer desirable.
> @@ -408,7 +410,7 @@ void llvm::sys::PrintStackTrace(raw_ostr
> if (!depth)
> return;
>
> - if (printSymbolizedStackTrace(StackTrace, depth, OS))
> + if (printSymbolizedStackTrace(Argv0, StackTrace, depth, OS))
> return;
> #if HAVE_DLFCN_H && __GNUG__
> int width = 0;
> @@ -471,7 +473,10 @@ void llvm::sys::DisableSystemDialogsOnCr
>
> /// PrintStackTraceOnErrorSignal - When an error signal (such as SIGABRT
> or
> /// SIGSEGV) is delivered to the process, print a stack trace and then
> exit.
> -void llvm::sys::PrintStackTraceOnErrorSignal(bool DisableCrashReporting) {
> +void llvm::sys::PrintStackTraceOnErrorSignal(StringRef Argv0,
> + bool DisableCrashReporting) {
> + ::Argv0 = Argv0;
> +
> AddSignalHandler(PrintStackTraceSignalHandler, nullptr);
>
> #if defined(__APPLE__) && defined(ENABLE_CRASH_OVERRIDES)
>
> Modified: llvm/trunk/lib/Support/Windows/Signals.inc
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Windows/Signals.inc?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Support/Windows/Signals.inc (original)
> +++ llvm/trunk/lib/Support/Windows/Signals.inc Wed Jun 8 19:53:21 2016
> @@ -206,6 +206,8 @@ static PTOP_LEVEL_EXCEPTION_FILTER OldFi
> static CRITICAL_SECTION CriticalSection;
> static bool CriticalSectionInitialized = false;
>
> +static StringRef Argv0;
> +
> enum {
> #if defined(_M_X64)
> NativeMachineType = IMAGE_FILE_MACHINE_AMD64
> @@ -240,7 +242,7 @@ static bool printStackTraceWithLLVMSymbo
> break;
> }
>
> - return printSymbolizedStackTrace(&StackTrace[0], Depth, OS);
> + return printSymbolizedStackTrace(Argv0, &StackTrace[0], Depth, OS);
> }
>
> namespace {
> @@ -496,7 +498,10 @@ void sys::DisableSystemDialogsOnCrash()
>
> /// PrintStackTraceOnErrorSignal - When an error signal (such as SIBABRT
> or
> /// SIGSEGV) is delivered to the process, print a stack trace and then
> exit.
> -void sys::PrintStackTraceOnErrorSignal(bool DisableCrashReporting) {
> +void sys::PrintStackTraceOnErrorSignal(StringRef Argv0,
> + bool DisableCrashReporting) {
> + ::Argv0 = Argv0;
> +
> if (DisableCrashReporting || getenv("LLVM_DISABLE_CRASH_REPORT"))
> Process::PreventCoreFiles();
>
>
> Modified: llvm/trunk/tools/bugpoint/bugpoint.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/bugpoint.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/bugpoint/bugpoint.cpp (original)
> +++ llvm/trunk/tools/bugpoint/bugpoint.cpp Wed Jun 8 19:53:21 2016
> @@ -113,7 +113,7 @@ void initializePollyPasses(llvm::PassReg
>
> int main(int argc, char **argv) {
> #ifndef DEBUG_BUGPOINT
> - llvm::sys::PrintStackTraceOnErrorSignal();
> + llvm::sys::PrintStackTraceOnErrorSignal(argv[0]);
> llvm::PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
> #endif
>
> Modified: llvm/trunk/tools/dsymutil/dsymutil.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/dsymutil/dsymutil.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/dsymutil/dsymutil.cpp (original)
> +++ llvm/trunk/tools/dsymutil/dsymutil.cpp Wed Jun 8 19:53:21 2016
> @@ -237,7 +237,7 @@ void llvm::dsymutil::exitDsymutil(int Ex
> }
>
> int main(int argc, char **argv) {
> - llvm::sys::PrintStackTraceOnErrorSignal();
> + llvm::sys::PrintStackTraceOnErrorSignal(argv[0]);
> llvm::PrettyStackTraceProgram StackPrinter(argc, argv);
> llvm::llvm_shutdown_obj Shutdown;
> LinkOptions Options;
>
> Modified: llvm/trunk/tools/llc/llc.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llc/llc.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llc/llc.cpp (original)
> +++ llvm/trunk/tools/llc/llc.cpp Wed Jun 8 19:53:21 2016
> @@ -202,7 +202,7 @@ static void DiagnosticHandler(const Diag
> // main - Entry point for the llc compiler.
> //
> int main(int argc, char **argv) {
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
>
> // Enable debug stream buffering.
>
> Modified: llvm/trunk/tools/lli/lli.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/lli.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/lli/lli.cpp (original)
> +++ llvm/trunk/tools/lli/lli.cpp Wed Jun 8 19:53:21 2016
> @@ -365,7 +365,7 @@ CodeGenOpt::Level getOptLevel() {
> // main Driver function
> //
> int main(int argc, char **argv, char * const *envp) {
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
>
> atexit(llvm_shutdown); // Call llvm_shutdown() on exit.
>
> Modified: llvm/trunk/tools/llvm-ar/llvm-ar.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-ar/llvm-ar.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-ar/llvm-ar.cpp (original)
> +++ llvm/trunk/tools/llvm-ar/llvm-ar.cpp Wed Jun 8 19:53:21 2016
> @@ -773,7 +773,7 @@ static int ranlib_main() {
> int main(int argc, char **argv) {
> ToolName = argv[0];
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
>
> Modified: llvm/trunk/tools/llvm-as/llvm-as.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-as/llvm-as.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-as/llvm-as.cpp (original)
> +++ llvm/trunk/tools/llvm-as/llvm-as.cpp Wed Jun 8 19:53:21 2016
> @@ -89,7 +89,7 @@ static void WriteOutputFile(const Module
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> LLVMContext Context;
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
> Modified: llvm/trunk/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp (original)
> +++ llvm/trunk/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp Wed Jun 8
> 19:53:21 2016
> @@ -915,7 +915,7 @@ static int AnalyzeBitcode() {
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
> cl::ParseCommandLineOptions(argc, argv, "llvm-bcanalyzer file
> analyzer\n");
>
> Modified: llvm/trunk/tools/llvm-cov/CodeCoverage.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-cov/CodeCoverage.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-cov/CodeCoverage.cpp (original)
> +++ llvm/trunk/tools/llvm-cov/CodeCoverage.cpp Wed Jun 8 19:53:21 2016
> @@ -26,11 +26,8 @@
> #include "llvm/Support/CommandLine.h"
> #include "llvm/Support/FileSystem.h"
> #include "llvm/Support/Format.h"
> -#include "llvm/Support/ManagedStatic.h"
> #include "llvm/Support/Path.h"
> -#include "llvm/Support/PrettyStackTrace.h"
> #include "llvm/Support/Process.h"
> -#include "llvm/Support/Signals.h"
> #include <functional>
> #include <system_error>
>
> @@ -240,11 +237,6 @@ std::unique_ptr<CoverageMapping> CodeCov
> }
>
> int CodeCoverageTool::run(Command Cmd, int argc, const char **argv) {
> - // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> - PrettyStackTraceProgram X(argc, argv);
> - llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
> -
> cl::opt<std::string, true> ObjectFilename(
> cl::Positional, cl::Required, cl::location(this->ObjectFilename),
> cl::desc("Covered executable or object file."));
>
> Modified: llvm/trunk/tools/llvm-cov/TestingSupport.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-cov/TestingSupport.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-cov/TestingSupport.cpp (original)
> +++ llvm/trunk/tools/llvm-cov/TestingSupport.cpp Wed Jun 8 19:53:21 2016
> @@ -11,9 +11,6 @@
> #include "llvm/ProfileData/InstrProf.h"
> #include "llvm/Support/CommandLine.h"
> #include "llvm/Support/LEB128.h"
> -#include "llvm/Support/ManagedStatic.h"
> -#include "llvm/Support/PrettyStackTrace.h"
> -#include "llvm/Support/Signals.h"
> #include "llvm/Support/raw_ostream.h"
> #include <functional>
> #include <system_error>
> @@ -22,10 +19,6 @@ using namespace llvm;
> using namespace object;
>
> int convertForTestingMain(int argc, const char *argv[]) {
> - sys::PrintStackTraceOnErrorSignal();
> - PrettyStackTraceProgram X(argc, argv);
> - llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
> -
> cl::opt<std::string> InputSourceFile(cl::Positional, cl::Required,
> cl::desc("<Source file>"));
>
>
> Modified: llvm/trunk/tools/llvm-cov/gcov.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-cov/gcov.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-cov/gcov.cpp (original)
> +++ llvm/trunk/tools/llvm-cov/gcov.cpp Wed Jun 8 19:53:21 2016
> @@ -16,10 +16,7 @@
> #include "llvm/Support/Errc.h"
> #include "llvm/Support/FileSystem.h"
> #include "llvm/Support/GCOV.h"
> -#include "llvm/Support/ManagedStatic.h"
> #include "llvm/Support/Path.h"
> -#include "llvm/Support/PrettyStackTrace.h"
> -#include "llvm/Support/Signals.h"
> #include <system_error>
> using namespace llvm;
>
> @@ -85,11 +82,6 @@ static void reportCoverage(StringRef Sou
> }
>
> int gcovMain(int argc, const char *argv[]) {
> - // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> - PrettyStackTraceProgram X(argc, argv);
> - llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
> -
> cl::list<std::string> SourceFiles(cl::Positional, cl::OneOrMore,
> cl::desc("SOURCEFILE"));
>
>
> Modified: llvm/trunk/tools/llvm-cov/llvm-cov.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-cov/llvm-cov.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-cov/llvm-cov.cpp (original)
> +++ llvm/trunk/tools/llvm-cov/llvm-cov.cpp Wed Jun 8 19:53:21 2016
> @@ -14,8 +14,11 @@
> #include "llvm/ADT/StringRef.h"
> #include "llvm/ADT/StringSwitch.h"
> #include "llvm/Support/CommandLine.h"
> +#include "llvm/Support/ManagedStatic.h"
> #include "llvm/Support/Path.h"
> +#include "llvm/Support/PrettyStackTrace.h"
> #include "llvm/Support/Process.h"
> +#include "llvm/Support/Signals.h"
> #include "llvm/Support/raw_ostream.h"
> #include <string>
>
> @@ -51,6 +54,11 @@ static int versionMain(int argc, const c
> }
>
> int main(int argc, const char **argv) {
> + // Print a stack trace if we signal out.
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> + PrettyStackTraceProgram X(argc, argv);
> + llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
> +
> // If argv[0] is or ends with 'gcov', always be gcov compatible
> if (sys::path::stem(argv[0]).endswith_lower("gcov"))
> return gcovMain(argc, argv);
>
> Modified: llvm/trunk/tools/llvm-cxxdump/llvm-cxxdump.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-cxxdump/llvm-cxxdump.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-cxxdump/llvm-cxxdump.cpp (original)
> +++ llvm/trunk/tools/llvm-cxxdump/llvm-cxxdump.cpp Wed Jun 8 19:53:21 2016
> @@ -525,7 +525,7 @@ static void dumpInput(StringRef File) {
> }
>
> int main(int argc, const char *argv[]) {
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y;
>
>
> Modified: llvm/trunk/tools/llvm-dis/llvm-dis.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-dis/llvm-dis.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-dis/llvm-dis.cpp (original)
> +++ llvm/trunk/tools/llvm-dis/llvm-dis.cpp Wed Jun 8 19:53:21 2016
> @@ -134,7 +134,7 @@ static void diagnosticHandler(const Diag
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
>
> LLVMContext Context;
>
> Modified: llvm/trunk/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-dwarfdump/llvm-dwarfdump.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-dwarfdump/llvm-dwarfdump.cpp (original)
> +++ llvm/trunk/tools/llvm-dwarfdump/llvm-dwarfdump.cpp Wed Jun 8 19:53:21
> 2016
> @@ -146,7 +146,7 @@ static std::vector<std::string> expandBu
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
>
> Modified: llvm/trunk/tools/llvm-extract/llvm-extract.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-extract/llvm-extract.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-extract/llvm-extract.cpp (original)
> +++ llvm/trunk/tools/llvm-extract/llvm-extract.cpp Wed Jun 8 19:53:21 2016
> @@ -102,7 +102,7 @@ static cl::opt<bool> PreserveAssemblyUse
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
>
> LLVMContext Context;
>
> Modified: llvm/trunk/tools/llvm-jitlistener/llvm-jitlistener.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-jitlistener/llvm-jitlistener.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-jitlistener/llvm-jitlistener.cpp (original)
> +++ llvm/trunk/tools/llvm-jitlistener/llvm-jitlistener.cpp Wed Jun 8
> 19:53:21 2016
> @@ -179,7 +179,7 @@ InputFilename(cl::Positional, cl::desc("
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
>
> Modified: llvm/trunk/tools/llvm-link/llvm-link.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-link/llvm-link.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-link/llvm-link.cpp (original)
> +++ llvm/trunk/tools/llvm-link/llvm-link.cpp Wed Jun 8 19:53:21 2016
> @@ -335,7 +335,7 @@ static bool linkFiles(const char *argv0,
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
>
> LLVMContext Context;
>
> Modified: llvm/trunk/tools/llvm-lto/llvm-lto.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-lto/llvm-lto.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-lto/llvm-lto.cpp (original)
> +++ llvm/trunk/tools/llvm-lto/llvm-lto.cpp Wed Jun 8 19:53:21 2016
> @@ -691,7 +691,7 @@ private:
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
>
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
> Modified: llvm/trunk/tools/llvm-mc/llvm-mc.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-mc/llvm-mc.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-mc/llvm-mc.cpp (original)
> +++ llvm/trunk/tools/llvm-mc/llvm-mc.cpp Wed Jun 8 19:53:21 2016
> @@ -369,7 +369,7 @@ static int AssembleInput(const char *Pro
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
>
> Modified: llvm/trunk/tools/llvm-mcmarkup/llvm-mcmarkup.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-mcmarkup/llvm-mcmarkup.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-mcmarkup/llvm-mcmarkup.cpp (original)
> +++ llvm/trunk/tools/llvm-mcmarkup/llvm-mcmarkup.cpp Wed Jun 8 19:53:21
> 2016
> @@ -208,7 +208,7 @@ static void parseMCMarkup(StringRef File
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
>
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
> Modified: llvm/trunk/tools/llvm-nm/llvm-nm.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-nm/llvm-nm.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-nm/llvm-nm.cpp (original)
> +++ llvm/trunk/tools/llvm-nm/llvm-nm.cpp Wed Jun 8 19:53:21 2016
> @@ -1347,7 +1347,7 @@ static void dumpSymbolNamesFromFile(std:
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
>
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
> Modified: llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (original)
> +++ llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp Wed Jun 8 19:53:21 2016
> @@ -1736,7 +1736,7 @@ static void DumpInput(StringRef file) {
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
>
> Modified: llvm/trunk/tools/llvm-pdbdump/llvm-pdbdump.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-pdbdump/llvm-pdbdump.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-pdbdump/llvm-pdbdump.cpp (original)
> +++ llvm/trunk/tools/llvm-pdbdump/llvm-pdbdump.cpp Wed Jun 8 19:53:21 2016
> @@ -433,7 +433,7 @@ static void dumpInput(StringRef Path) {
>
> int main(int argc_, const char *argv_[]) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv_[0]);
> PrettyStackTraceProgram X(argc_, argv_);
>
> ExitOnErr.setBanner("llvm-pdbdump: ");
>
> Modified: llvm/trunk/tools/llvm-profdata/llvm-profdata.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-profdata/llvm-profdata.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-profdata/llvm-profdata.cpp (original)
> +++ llvm/trunk/tools/llvm-profdata/llvm-profdata.cpp Wed Jun 8 19:53:21
> 2016
> @@ -518,7 +518,7 @@ static int show_main(int argc, const cha
>
> int main(int argc, const char *argv[]) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
>
> Modified: llvm/trunk/tools/llvm-readobj/llvm-readobj.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-readobj/llvm-readobj.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-readobj/llvm-readobj.cpp (original)
> +++ llvm/trunk/tools/llvm-readobj/llvm-readobj.cpp Wed Jun 8 19:53:21 2016
> @@ -487,7 +487,7 @@ static void dumpInput(StringRef File) {
> }
>
> int main(int argc, const char *argv[]) {
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y;
>
>
> Modified: llvm/trunk/tools/llvm-rtdyld/llvm-rtdyld.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-rtdyld/llvm-rtdyld.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-rtdyld/llvm-rtdyld.cpp (original)
> +++ llvm/trunk/tools/llvm-rtdyld/llvm-rtdyld.cpp Wed Jun 8 19:53:21 2016
> @@ -726,7 +726,7 @@ static int linkAndVerify() {
> }
>
> int main(int argc, char **argv) {
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
>
> ProgramName = argv[0];
>
> Modified: llvm/trunk/tools/llvm-size/llvm-size.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-size/llvm-size.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-size/llvm-size.cpp (original)
> +++ llvm/trunk/tools/llvm-size/llvm-size.cpp Wed Jun 8 19:53:21 2016
> @@ -806,7 +806,7 @@ static void printFileSectionSizes(String
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
>
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
> Modified: llvm/trunk/tools/llvm-symbolizer/llvm-symbolizer.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-symbolizer/llvm-symbolizer.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-symbolizer/llvm-symbolizer.cpp (original)
> +++ llvm/trunk/tools/llvm-symbolizer/llvm-symbolizer.cpp Wed Jun 8
> 19:53:21 2016
> @@ -140,7 +140,7 @@ static bool parseCommand(StringRef Input
>
> int main(int argc, char **argv) {
> // Print stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
>
> Modified: llvm/trunk/tools/obj2yaml/obj2yaml.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/obj2yaml/obj2yaml.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/obj2yaml/obj2yaml.cpp (original)
> +++ llvm/trunk/tools/obj2yaml/obj2yaml.cpp Wed Jun 8 19:53:21 2016
> @@ -48,7 +48,7 @@ cl::opt<std::string> InputFilename(cl::P
>
> int main(int argc, char *argv[]) {
> cl::ParseCommandLineOptions(argc, argv);
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
>
> Modified: llvm/trunk/tools/opt/opt.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt/opt.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/opt/opt.cpp (original)
> +++ llvm/trunk/tools/opt/opt.cpp Wed Jun 8 19:53:21 2016
> @@ -327,7 +327,7 @@ void initializePollyPasses(llvm::PassReg
> // main for opt
> //
> int main(int argc, char **argv) {
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> llvm::PrettyStackTraceProgram X(argc, argv);
>
> // Enable debug stream buffering.
>
> Modified: llvm/trunk/tools/sancov/sancov.cc
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/sancov/sancov.cc?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/sancov/sancov.cc (original)
> +++ llvm/trunk/tools/sancov/sancov.cc Wed Jun 8 19:53:21 2016
> @@ -1197,7 +1197,7 @@ private:
>
> int main(int argc, char **argv) {
> // Print stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
>
> Modified: llvm/trunk/tools/verify-uselistorder/verify-uselistorder.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/verify-uselistorder/verify-uselistorder.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/verify-uselistorder/verify-uselistorder.cpp (original)
> +++ llvm/trunk/tools/verify-uselistorder/verify-uselistorder.cpp Wed Jun
> 8 19:53:21 2016
> @@ -526,7 +526,7 @@ static void reverseUseLists(Module &M) {
> }
>
> int main(int argc, char **argv) {
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> llvm::PrettyStackTraceProgram X(argc, argv);
>
> // Enable debug stream buffering.
>
> Modified: llvm/trunk/tools/yaml2obj/yaml2obj.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/yaml2obj/yaml2obj.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/yaml2obj/yaml2obj.cpp (original)
> +++ llvm/trunk/tools/yaml2obj/yaml2obj.cpp Wed Jun 8 19:53:21 2016
> @@ -79,7 +79,7 @@ static int convertYAML(yaml::Input &YIn,
>
> int main(int argc, char **argv) {
> cl::ParseCommandLineOptions(argc, argv);
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
>
> Modified: llvm/trunk/utils/FileCheck/FileCheck.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/FileCheck/FileCheck.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/FileCheck/FileCheck.cpp (original)
> +++ llvm/trunk/utils/FileCheck/FileCheck.cpp Wed Jun 8 19:53:21 2016
> @@ -1306,7 +1306,7 @@ static void DumpCommandLine(int argc, ch
> }
>
> int main(int argc, char **argv) {
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> cl::ParseCommandLineOptions(argc, argv);
>
>
> Modified: llvm/trunk/utils/KillTheDoctor/KillTheDoctor.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/KillTheDoctor/KillTheDoctor.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/KillTheDoctor/KillTheDoctor.cpp (original)
> +++ llvm/trunk/utils/KillTheDoctor/KillTheDoctor.cpp Wed Jun 8 19:53:21
> 2016
> @@ -296,7 +296,7 @@ static StringRef ExceptionCodeToString(D
>
> int main(int argc, char **argv) {
> // Print a stack trace if we signal out.
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
>
>
> Modified: llvm/trunk/utils/TableGen/TableGen.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/TableGen.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/TableGen/TableGen.cpp (original)
> +++ llvm/trunk/utils/TableGen/TableGen.cpp Wed Jun 8 19:53:21 2016
> @@ -179,7 +179,7 @@ bool LLVMTableGenMain(raw_ostream &OS, R
> }
>
> int main(int argc, char **argv) {
> - sys::PrintStackTraceOnErrorSignal();
> + sys::PrintStackTraceOnErrorSignal(argv[0]);
> PrettyStackTraceProgram X(argc, argv);
> cl::ParseCommandLineOptions(argc, argv);
>
>
> Modified: llvm/trunk/utils/unittest/UnitTestMain/TestMain.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/unittest/UnitTestMain/TestMain.cpp?rev=272232&r1=272231&r2=272232&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/unittest/UnitTestMain/TestMain.cpp (original)
> +++ llvm/trunk/utils/unittest/UnitTestMain/TestMain.cpp Wed Jun 8
> 19:53:21 2016
> @@ -22,7 +22,8 @@
> const char *TestMainArgv0;
>
> int main(int argc, char **argv) {
> - llvm::sys::PrintStackTraceOnErrorSignal(true /* Disable crash reporting
> */);
> + llvm::sys::PrintStackTraceOnErrorSignal(argv[0],
> + true /* Disable crash reporting
> */);
> testing::InitGoogleTest(&argc, argv);
> llvm::cl::ParseCommandLineOptions(argc, argv);
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160608/084166b1/attachment.html>
More information about the llvm-commits
mailing list