diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2015-12-30 11:55:28 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2015-12-30 11:55:28 +0000 | 
| commit | e81d9d49145e432d917eea3a70d2ae74dcad1d89 (patch) | |
| tree | 9ed5e1a91f242e2cb5911577356e487a55c01b78 /source/API/SystemInitializerFull.cpp | |
| parent | 85d8ef8f1f0e0e063a8571944302be2d2026f823 (diff) | |
Notes
Diffstat (limited to 'source/API/SystemInitializerFull.cpp')
| -rw-r--r-- | source/API/SystemInitializerFull.cpp | 96 | 
1 files changed, 82 insertions, 14 deletions
diff --git a/source/API/SystemInitializerFull.cpp b/source/API/SystemInitializerFull.cpp index 01ad8157646e8..f223357824e82 100644 --- a/source/API/SystemInitializerFull.cpp +++ b/source/API/SystemInitializerFull.cpp @@ -7,18 +7,32 @@  //  //===----------------------------------------------------------------------===// +#if !defined(LLDB_DISABLE_PYTHON) +#include "Plugins/ScriptInterpreter/Python/lldb-python.h" +#endif +  #include "lldb/API/SystemInitializerFull.h" +#include "lldb/API/SBCommandInterpreter.h" + +#if !defined(LLDB_DISABLE_PYTHON) +#include "Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h" +#endif +  #include "lldb/Core/Debugger.h"  #include "lldb/Core/Timer.h"  #include "lldb/Host/Host.h"  #include "lldb/Initialization/SystemInitializerCommon.h" +#include "lldb/Interpreter/CommandInterpreter.h" +#include "lldb/Symbol/ClangASTContext.h" +#include "lldb/Symbol/GoASTContext.h"  #include "Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h"  #include "Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h"  #include "Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.h"  #include "Plugins/ABI/SysV-arm/ABISysV_arm.h"  #include "Plugins/ABI/SysV-arm64/ABISysV_arm64.h" +#include "Plugins/ABI/SysV-hexagon/ABISysV_hexagon.h"  #include "Plugins/ABI/SysV-i386/ABISysV_i386.h"  #include "Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h"  #include "Plugins/ABI/SysV-ppc/ABISysV_ppc.h" @@ -30,14 +44,20 @@  #include "Plugins/Instruction/ARM64/EmulateInstructionARM64.h"  #include "Plugins/InstrumentationRuntime/AddressSanitizer/AddressSanitizerRuntime.h"  #include "Plugins/JITLoader/GDB/JITLoaderGDB.h" +#include "Plugins/Language/CPlusPlus/CPlusPlusLanguage.h" +#include "Plugins/Language/Go/GoLanguage.h" +#include "Plugins/Language/ObjC/ObjCLanguage.h" +#include "Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h"  #include "Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h"  #include "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h"  #include "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h" +#include "Plugins/LanguageRuntime/Go/GoLanguageRuntime.h"  #include "Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h"  #include "Plugins/MemoryHistory/asan/MemoryHistoryASan.h"  #include "Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h"  #include "Plugins/Process/elf-core/ProcessElfCore.h"  #include "Plugins/Process/gdb-remote/ProcessGDBRemote.h" +#include "Plugins/ScriptInterpreter/None/ScriptInterpreterNone.h"  #include "Plugins/SymbolFile/DWARF/SymbolFileDWARF.h"  #include "Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h"  #include "Plugins/SymbolFile/Symtab/SymbolFileSymtab.h" @@ -50,6 +70,10 @@  #include "Plugins/Process/mach-core/ProcessMachCore.h"  #include "Plugins/Process/MacOSX-Kernel/ProcessKDP.h"  #include "Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.h" +#include "Plugins/Platform/MacOSX/PlatformAppleTVSimulator.h" +#include "Plugins/Platform/MacOSX/PlatformAppleWatchSimulator.h" +#include "Plugins/Platform/MacOSX/PlatformRemoteAppleTV.h" +#include "Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.h"  #endif  #if defined(__FreeBSD__) @@ -58,11 +82,8 @@  #if defined(_MSC_VER)  #include "lldb/Host/windows/windows.h" -#include "Plugins/Process/Windows/ProcessWindows.h" -#endif - -#if !defined(LLDB_DISABLE_PYTHON) -#include "lldb/Interpreter/ScriptInterpreterPython.h" +#include "Plugins/Process/Windows/Live/ProcessWindowsLive.h" +#include "Plugins/Process/Windows/MiniDump/ProcessWinMiniDump.h"  #endif  #include "llvm/Support/TargetSelect.h" @@ -74,9 +95,19 @@ using namespace lldb_private;  #ifndef LLDB_DISABLE_PYTHON  // Defined in the SWIG source file +#if PY_MAJOR_VERSION >= 3 +extern "C" PyObject* +PyInit__lldb(void); + +#define LLDBSwigPyInit PyInit__lldb + +#else  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 @@ -124,7 +155,7 @@ LLDBSWIGPythonCallThreadPlan (void *implementor,                                bool &got_error);  extern "C" size_t -LLDBSwigPython_CalculateNumChildren (void *implementor); +LLDBSwigPython_CalculateNumChildren (void *implementor, uint32_t max);  extern "C" void *  LLDBSwigPython_GetChildAtIndex (void *implementor, uint32_t idx); @@ -221,9 +252,17 @@ SystemInitializerFull::~SystemInitializerFull()  void  SystemInitializerFull::Initialize()  { +    SystemInitializerCommon::Initialize(); +    ScriptInterpreterNone::Initialize(); + +#if !defined(LLDB_DISABLE_PYTHON)      InitializeSWIG(); -    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      // Initialize LLVM and Clang      llvm::InitializeAllTargets(); @@ -231,11 +270,15 @@ SystemInitializerFull::Initialize()      llvm::InitializeAllTargetMCs();      llvm::InitializeAllDisassemblers(); +    ClangASTContext::Initialize(); +    GoASTContext::Initialize(); +      ABIMacOSX_i386::Initialize();      ABIMacOSX_arm::Initialize();      ABIMacOSX_arm64::Initialize();      ABISysV_arm::Initialize();      ABISysV_arm64::Initialize(); +    ABISysV_hexagon::Initialize();      ABISysV_i386::Initialize();      ABISysV_x86_64::Initialize();      ABISysV_ppc::Initialize(); @@ -246,6 +289,9 @@ SystemInitializerFull::Initialize()      JITLoaderGDB::Initialize();      ProcessElfCore::Initialize(); +#if defined(_MSC_VER) +    ProcessWinMiniDump::Initialize(); +#endif      MemoryHistoryASan::Initialize();      AddressSanitizerRuntime::Initialize(); @@ -261,9 +307,15 @@ SystemInitializerFull::Initialize()      AppleObjCRuntimeV1::Initialize();      SystemRuntimeMacOSX::Initialize();      RenderScriptRuntime::Initialize(); +    GoLanguageRuntime::Initialize(); +     +    CPlusPlusLanguage::Initialize(); +    GoLanguage::Initialize(); +    ObjCLanguage::Initialize(); +    ObjCPlusPlusLanguage::Initialize();  #if defined(_MSC_VER) -    ProcessWindows::Initialize(); +    ProcessWindowsLive::Initialize();  #endif  #if defined(__FreeBSD__)      ProcessFreeBSD::Initialize(); @@ -272,6 +324,10 @@ SystemInitializerFull::Initialize()      SymbolVendorMacOSX::Initialize();      ProcessKDP::Initialize();      ProcessMachCore::Initialize(); +    PlatformAppleTVSimulator::Initialize(); +    PlatformAppleWatchSimulator::Initialize(); +    PlatformRemoteAppleTV::Initialize(); +    PlatformRemoteAppleWatch::Initialize();  #endif      //----------------------------------------------------------------------      // Platform agnostic plugins @@ -294,7 +350,7 @@ void SystemInitializerFull::InitializeSWIG()  {  #if !defined(LLDB_DISABLE_PYTHON)      ScriptInterpreterPython::InitializeInterpreter( -        init_lldb, +        LLDBSwigPyInit,          LLDBSwigPythonBreakpointCallbackFunction,          LLDBSwigPythonWatchpointCallbackFunction,          LLDBSwigPythonCallTypeScript, @@ -332,11 +388,16 @@ SystemInitializerFull::Terminate()      // Terminate and unload and loaded system or user LLDB plug-ins      PluginManager::Terminate(); + +    ClangASTContext::Terminate(); +    GoASTContext::Terminate(); +      ABIMacOSX_i386::Terminate();      ABIMacOSX_arm::Terminate();      ABIMacOSX_arm64::Terminate();      ABISysV_arm::Terminate();      ABISysV_arm64::Terminate(); +    ABISysV_hexagon::Terminate();      ABISysV_i386::Terminate();      ABISysV_x86_64::Terminate();      ABISysV_ppc::Terminate(); @@ -347,6 +408,9 @@ SystemInitializerFull::Terminate()      JITLoaderGDB::Terminate();      ProcessElfCore::Terminate(); +#if defined(_MSC_VER) +    ProcessWinMiniDump::Terminate(); +#endif      MemoryHistoryASan::Terminate();      AddressSanitizerRuntime::Terminate();      SymbolVendorELF::Terminate(); @@ -362,10 +426,19 @@ SystemInitializerFull::Terminate()      SystemRuntimeMacOSX::Terminate();      RenderScriptRuntime::Terminate(); +    CPlusPlusLanguage::Terminate(); +    GoLanguage::Terminate(); +    ObjCLanguage::Terminate(); +    ObjCPlusPlusLanguage::Terminate(); +      #if defined(__APPLE__)      ProcessMachCore::Terminate();      ProcessKDP::Terminate();      SymbolVendorMacOSX::Terminate(); +    PlatformAppleTVSimulator::Terminate(); +    PlatformAppleWatchSimulator::Terminate(); +    PlatformRemoteAppleTV::Terminate(); +    PlatformRemoteAppleWatch::Terminate();  #endif  #if defined(__FreeBSD__) @@ -380,8 +453,3 @@ SystemInitializerFull::Terminate()      // Now shutdown the common parts, in reverse order.      SystemInitializerCommon::Terminate();  } - -void SystemInitializerFull::TerminateSWIG() -{ - -}  | 
