summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/tools/lldb/source/Initialization/SystemInitializerCommon.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Initialization/SystemInitializerCommon.cpp')
-rw-r--r--contrib/llvm/tools/lldb/source/Initialization/SystemInitializerCommon.cpp132
1 files changed, 60 insertions, 72 deletions
diff --git a/contrib/llvm/tools/lldb/source/Initialization/SystemInitializerCommon.cpp b/contrib/llvm/tools/lldb/source/Initialization/SystemInitializerCommon.cpp
index 76cac2e..de05731 100644
--- a/contrib/llvm/tools/lldb/source/Initialization/SystemInitializerCommon.cpp
+++ b/contrib/llvm/tools/lldb/source/Initialization/SystemInitializerCommon.cpp
@@ -9,10 +9,6 @@
#include "lldb/Initialization/SystemInitializerCommon.h"
-#include "lldb/Host/Host.h"
-#include "lldb/Host/HostInfo.h"
-#include "lldb/Core/Log.h"
-#include "lldb/Core/Timer.h"
#include "Plugins/Instruction/ARM/EmulateInstructionARM.h"
#include "Plugins/Instruction/MIPS/EmulateInstructionMIPS.h"
#include "Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h"
@@ -21,6 +17,10 @@
#include "Plugins/ObjectFile/ELF/ObjectFileELF.h"
//#include "Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h"
#include "Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h"
+#include "lldb/Core/Log.h"
+#include "lldb/Core/Timer.h"
+#include "lldb/Host/Host.h"
+#include "lldb/Host/HostInfo.h"
#if defined(__APPLE__)
#include "Plugins/ObjectFile/Mach-O/ObjectFileMachO.h"
@@ -35,104 +35,92 @@
#include "lldb/Host/windows/windows.h"
#endif
+#include "llvm/Support/PrettyStackTrace.h"
#include "llvm/Support/TargetSelect.h"
#include <string>
using namespace lldb_private;
-static void
-fatal_error_handler(void *user_data, const std::string &reason, bool gen_crash_diag)
-{
- Host::SetCrashDescription(reason.c_str());
- ::abort();
-}
+SystemInitializerCommon::SystemInitializerCommon() {}
-SystemInitializerCommon::SystemInitializerCommon()
-{
-}
+SystemInitializerCommon::~SystemInitializerCommon() {}
-SystemInitializerCommon::~SystemInitializerCommon()
-{
-}
-
-void
-SystemInitializerCommon::Initialize()
-{
+void SystemInitializerCommon::Initialize() {
#if defined(_MSC_VER)
- const char *disable_crash_dialog_var = getenv("LLDB_DISABLE_CRASH_DIALOG");
- if (disable_crash_dialog_var && llvm::StringRef(disable_crash_dialog_var).equals_lower("true"))
- {
- // This will prevent Windows from displaying a dialog box requiring user interaction when
- // LLDB crashes. This is mostly useful when automating LLDB, for example via the test
- // suite, so that a crash in LLDB does not prevent completion of the test suite.
- ::SetErrorMode(GetErrorMode() | SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX);
-
- _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG);
- _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG);
- _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG);
- _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);
- _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
- _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
- }
+ const char *disable_crash_dialog_var = getenv("LLDB_DISABLE_CRASH_DIALOG");
+ if (disable_crash_dialog_var &&
+ llvm::StringRef(disable_crash_dialog_var).equals_lower("true")) {
+ // This will prevent Windows from displaying a dialog box requiring user
+ // interaction when
+ // LLDB crashes. This is mostly useful when automating LLDB, for example
+ // via the test
+ // suite, so that a crash in LLDB does not prevent completion of the test
+ // suite.
+ ::SetErrorMode(GetErrorMode() | SEM_FAILCRITICALERRORS |
+ SEM_NOGPFAULTERRORBOX);
+
+ _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG);
+ _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG);
+ _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG);
+ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);
+ _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
+ _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
+ }
#endif
- Log::Initialize();
- HostInfo::Initialize();
- Timer scoped_timer(__PRETTY_FUNCTION__, __PRETTY_FUNCTION__);
-
- llvm::install_fatal_error_handler(fatal_error_handler, 0);
-
- process_gdb_remote::ProcessGDBRemoteLog::Initialize();
+ llvm::EnablePrettyStackTrace();
+ Log::Initialize();
+ HostInfo::Initialize();
+ Timer scoped_timer(LLVM_PRETTY_FUNCTION, LLVM_PRETTY_FUNCTION);
- // Initialize plug-ins
- ObjectContainerBSDArchive::Initialize();
- ObjectFileELF::Initialize();
-// ObjectFilePECOFF::Initialize();
+ process_gdb_remote::ProcessGDBRemoteLog::Initialize();
- EmulateInstructionARM::Initialize();
- EmulateInstructionMIPS::Initialize();
- EmulateInstructionMIPS64::Initialize();
+ // Initialize plug-ins
+ ObjectContainerBSDArchive::Initialize();
+ ObjectFileELF::Initialize();
+//ObjectFilePECOFF::Initialize();
- //----------------------------------------------------------------------
- // Apple/Darwin hosted plugins
- //----------------------------------------------------------------------
-// ObjectContainerUniversalMachO::Initialize();
+ EmulateInstructionARM::Initialize();
+ EmulateInstructionMIPS::Initialize();
+ EmulateInstructionMIPS64::Initialize();
+ //----------------------------------------------------------------------
+ // Apple/Darwin hosted plugins
+ //----------------------------------------------------------------------
+//ObjectContainerUniversalMachO::Initialize();
#if defined(__APPLE__)
- ObjectFileMachO::Initialize();
+ ObjectFileMachO::Initialize();
#endif
#if defined(__linux__)
- static ConstString g_linux_log_name("linux");
- ProcessPOSIXLog::Initialize(g_linux_log_name);
+ static ConstString g_linux_log_name("linux");
+ ProcessPOSIXLog::Initialize(g_linux_log_name);
#endif
#if defined(_MSC_VER)
- ProcessWindowsLog::Initialize();
+ ProcessWindowsLog::Initialize();
#endif
}
-void
-SystemInitializerCommon::Terminate()
-{
- Timer scoped_timer(__PRETTY_FUNCTION__, __PRETTY_FUNCTION__);
- ObjectContainerBSDArchive::Terminate();
- ObjectFileELF::Terminate();
-// ObjectFilePECOFF::Terminate();
+void SystemInitializerCommon::Terminate() {
+ Timer scoped_timer(LLVM_PRETTY_FUNCTION, LLVM_PRETTY_FUNCTION);
+ ObjectContainerBSDArchive::Terminate();
+ ObjectFileELF::Terminate();
+//ObjectFilePECOFF::Terminate();
- EmulateInstructionARM::Terminate();
- EmulateInstructionMIPS::Terminate();
- EmulateInstructionMIPS64::Terminate();
+ EmulateInstructionARM::Terminate();
+ EmulateInstructionMIPS::Terminate();
+ EmulateInstructionMIPS64::Terminate();
-// ObjectContainerUniversalMachO::Terminate();
+//ObjectContainerUniversalMachO::Terminate();
#if defined(__APPLE__)
- ObjectFileMachO::Terminate();
+ ObjectFileMachO::Terminate();
#endif
#if defined(_MSC_VER)
- ProcessWindowsLog::Terminate();
+ ProcessWindowsLog::Terminate();
#endif
- HostInfo::Terminate();
- Log::Terminate();
+ HostInfo::Terminate();
+ Log::Terminate();
}
OpenPOWER on IntegriCloud