diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2018-07-28 11:09:23 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2018-07-28 11:09:23 +0000 |
commit | f73363f1dd94996356cefbf24388f561891acf0b (patch) | |
tree | e3c31248bdb36eaec5fd833490d4278162dba2a0 /source/API/SystemInitializerFull.cpp | |
parent | 160ee69dd7ae18978f4068116777639ea98dc951 (diff) |
Notes
Diffstat (limited to 'source/API/SystemInitializerFull.cpp')
-rw-r--r-- | source/API/SystemInitializerFull.cpp | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/source/API/SystemInitializerFull.cpp b/source/API/SystemInitializerFull.cpp index 977ebe62353e..18de376183c7 100644 --- a/source/API/SystemInitializerFull.cpp +++ b/source/API/SystemInitializerFull.cpp @@ -11,7 +11,7 @@ #include "Plugins/ScriptInterpreter/Python/lldb-python.h" #endif -#include "lldb/API/SystemInitializerFull.h" +#include "SystemInitializerFull.h" #include "lldb/API/SBCommandInterpreter.h" @@ -43,6 +43,7 @@ #include "Plugins/ABI/SysV-s390x/ABISysV_s390x.h" #include "Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h" #include "Plugins/Architecture/Arm/ArchitectureArm.h" +#include "Plugins/Architecture/PPC64/ArchitecturePPC64.h" #include "Plugins/Disassembler/llvm/DisassemblerLLVMC.h" #include "Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.h" #include "Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h" @@ -50,6 +51,7 @@ #include "Plugins/DynamicLoader/Static/DynamicLoaderStatic.h" #include "Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.h" #include "Plugins/Instruction/ARM64/EmulateInstructionARM64.h" +#include "Plugins/Instruction/PPC64/EmulateInstructionPPC64.h" #include "Plugins/InstrumentationRuntime/ASan/ASanRuntime.h" #include "Plugins/InstrumentationRuntime/MainThreadChecker/MainThreadCheckerRuntime.h" #include "Plugins/InstrumentationRuntime/TSan/TSanRuntime.h" @@ -68,6 +70,9 @@ #include "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h" #include "Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h" #include "Plugins/MemoryHistory/asan/MemoryHistoryASan.h" +#include "Plugins/ObjectFile/ELF/ObjectFileELF.h" +#include "Plugins/ObjectFile/Mach-O/ObjectFileMachO.h" +#include "Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h" #include "Plugins/OperatingSystem/Go/OperatingSystemGo.h" #include "Plugins/OperatingSystem/Python/OperatingSystemPython.h" #include "Plugins/Platform/Android/PlatformAndroid.h" @@ -82,6 +87,7 @@ #include "Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h" #include "Plugins/Process/elf-core/ProcessElfCore.h" #include "Plugins/Process/gdb-remote/ProcessGDBRemote.h" +#include "Plugins/Process/mach-core/ProcessMachCore.h" #include "Plugins/Process/minidump/ProcessMinidump.h" #include "Plugins/ScriptInterpreter/None/ScriptInterpreterNone.h" #include "Plugins/SymbolFile/DWARF/SymbolFileDWARF.h" @@ -102,7 +108,6 @@ #include "Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.h" #include "Plugins/Platform/MacOSX/PlatformiOSSimulator.h" #include "Plugins/Process/MacOSX-Kernel/ProcessKDP.h" -#include "Plugins/Process/mach-core/ProcessMachCore.h" #include "Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.h" #endif #include "Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.h" @@ -136,11 +141,10 @@ extern "C" void init_lldb(void); #define LLDBSwigPyInit init_lldb #endif -// these are the Pythonic implementations of the required callbacks -// these are scripting-language specific, which is why they belong here -// we still need to use function pointers to them instead of relying -// on linkage-time resolution because the SWIG stuff and this file -// get built at different times +// these are the Pythonic implementations of the required callbacks these are +// scripting-language specific, which is why they belong here we still need to +// use function pointers to them instead of relying on linkage-time resolution +// because the SWIG stuff and this file get built at different times extern "C" bool LLDBSwigPythonBreakpointCallbackFunction( const char *python_function_name, const char *session_dictionary_name, const lldb::StackFrameSP &sb_frame, @@ -250,6 +254,11 @@ SystemInitializerFull::~SystemInitializerFull() {} void SystemInitializerFull::Initialize() { SystemInitializerCommon::Initialize(); + + ObjectFileELF::Initialize(); + ObjectFileMachO::Initialize(); + ObjectFilePECOFF::Initialize(); + ScriptInterpreterNone::Initialize(); #ifndef LLDB_DISABLE_PYTHON @@ -260,10 +269,9 @@ void SystemInitializerFull::Initialize() { #if !defined(LLDB_DISABLE_PYTHON) InitializeSWIG(); - // ScriptInterpreterPython::Initialize() depends on things like HostInfo being - // initialized - // so it can compute the python directory etc, so we need to do this after - // SystemInitializerCommon::Initialize(). + // ScriptInterpreterPython::Initialize() depends on things like HostInfo + // being initialized so it can compute the python directory etc, so we need + // to do this after SystemInitializerCommon::Initialize(). ScriptInterpreterPython::Initialize(); #endif @@ -307,11 +315,13 @@ void SystemInitializerFull::Initialize() { ABISysV_s390x::Initialize(); ArchitectureArm::Initialize(); + ArchitecturePPC64::Initialize(); DisassemblerLLVMC::Initialize(); JITLoaderGDB::Initialize(); ProcessElfCore::Initialize(); + ProcessMachCore::Initialize(); minidump::ProcessMinidump::Initialize(); MemoryHistoryASan::Initialize(); AddressSanitizerRuntime::Initialize(); @@ -326,6 +336,7 @@ void SystemInitializerFull::Initialize() { UnwindAssemblyInstEmulation::Initialize(); UnwindAssembly_x86::Initialize(); EmulateInstructionARM64::Initialize(); + EmulateInstructionPPC64::Initialize(); SymbolFileDWARFDebugMap::Initialize(); ItaniumABILanguageRuntime::Initialize(); AppleObjCRuntimeV2::Initialize(); @@ -351,7 +362,6 @@ void SystemInitializerFull::Initialize() { #if defined(__APPLE__) SymbolVendorMacOSX::Initialize(); ProcessKDP::Initialize(); - ProcessMachCore::Initialize(); PlatformAppleTVSimulator::Initialize(); PlatformAppleWatchSimulator::Initialize(); PlatformRemoteAppleTV::Initialize(); @@ -359,8 +369,8 @@ void SystemInitializerFull::Initialize() { DynamicLoaderDarwinKernel::Initialize(); #endif - // This plugin is valid on any host that talks to a Darwin remote. - // It shouldn't be limited to __APPLE__. + // This plugin is valid on any host that talks to a Darwin remote. It + // shouldn't be limited to __APPLE__. StructuredDataDarwinLog::Initialize(); //---------------------------------------------------------------------- @@ -378,8 +388,8 @@ void SystemInitializerFull::Initialize() { // Scan for any system or user LLDB plug-ins PluginManager::Initialize(); - // The process settings need to know about installed plug-ins, so the Settings - // must be initialized + // The process settings need to know about installed plug-ins, so the + // Settings must be initialized // AFTER PluginManager::Initialize is called. Debugger::SettingsInitialize(); @@ -438,6 +448,7 @@ void SystemInitializerFull::Terminate() { JITLoaderGDB::Terminate(); ProcessElfCore::Terminate(); + ProcessMachCore::Terminate(); minidump::ProcessMinidump::Terminate(); MemoryHistoryASan::Terminate(); AddressSanitizerRuntime::Terminate(); @@ -451,6 +462,7 @@ void SystemInitializerFull::Terminate() { UnwindAssembly_x86::Terminate(); UnwindAssemblyInstEmulation::Terminate(); EmulateInstructionARM64::Terminate(); + EmulateInstructionPPC64::Terminate(); SymbolFileDWARFDebugMap::Terminate(); ItaniumABILanguageRuntime::Terminate(); AppleObjCRuntimeV2::Terminate(); @@ -468,7 +480,6 @@ void SystemInitializerFull::Terminate() { #if defined(__APPLE__) DynamicLoaderDarwinKernel::Terminate(); - ProcessMachCore::Terminate(); ProcessKDP::Terminate(); SymbolVendorMacOSX::Terminate(); PlatformAppleTVSimulator::Terminate(); @@ -511,6 +522,10 @@ void SystemInitializerFull::Terminate() { PlatformDarwinKernel::Terminate(); #endif + ObjectFileELF::Terminate(); + ObjectFileMachO::Terminate(); + ObjectFilePECOFF::Terminate(); + // Now shutdown the common parts, in reverse order. SystemInitializerCommon::Terminate(); } |