diff options
Diffstat (limited to 'lldb/source/Plugins')
77 files changed, 413 insertions, 650 deletions
diff --git a/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp b/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp index 3a9f767cfc7..bc63e591cc2 100644 --- a/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp +++ b/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp @@ -35,12 +35,7 @@ using namespace lldb; using namespace lldb_private; -static const char *pluginName = "ABIMacOSX_arm"; -static const char *pluginDesc = "Mac OS X ABI for arm targets"; -static const char *pluginShort = "abi.macosx-arm"; - - -static RegisterInfo g_register_infos[] = +static RegisterInfo g_register_infos[] = { // NAME ALT SZ OFF ENCODING FORMAT COMPILER DWARF GENERIC GDB LLDB NATIVE VALUE REGS INVALIDATE REGS // ========== ======= == === ============= ============ ======================= =================== =========================== ======================= ====================== ========== =============== @@ -841,8 +836,8 @@ ABIMacOSX_arm::RegisterIsVolatile (const RegisterInfo *reg_info) void ABIMacOSX_arm::Initialize() { - PluginManager::RegisterPlugin (pluginName, - pluginDesc, + PluginManager::RegisterPlugin (GetPluginNameStatic(), + "Mac OS X ABI for arm targets", CreateInstance); } @@ -852,19 +847,20 @@ ABIMacOSX_arm::Terminate() PluginManager::UnregisterPlugin (CreateInstance); } +lldb_private::ConstString +ABIMacOSX_arm::GetPluginNameStatic() +{ + static ConstString g_name("macosx-arm"); + return g_name; +} + //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString ABIMacOSX_arm::GetPluginName() { - return pluginName; -} - -const char * -ABIMacOSX_arm::GetShortPluginName() -{ - return pluginShort; + return GetPluginNameStatic(); } uint32_t diff --git a/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h b/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h index c1edb6edd62..27cea85aaf6 100644 --- a/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h +++ b/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h @@ -114,15 +114,15 @@ public: static lldb::ABISP CreateInstance (const lldb_private::ArchSpec &arch); + static lldb_private::ConstString + GetPluginNameStatic(); + //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp b/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp index 03592522833..d2126bf3556 100644 --- a/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp +++ b/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp @@ -30,10 +30,6 @@ using namespace lldb; using namespace lldb_private; -static const char *pluginName = "ABIMacOSX_i386"; -static const char *pluginDesc = "Mac OS X ABI for i386 targets"; -static const char *pluginShort = "abi.macosx-i386"; - enum { gcc_eax = 0, @@ -974,8 +970,8 @@ ABIMacOSX_i386::RegisterIsCalleeSaved (const RegisterInfo *reg_info) void ABIMacOSX_i386::Initialize() { - PluginManager::RegisterPlugin (pluginName, - pluginDesc, + PluginManager::RegisterPlugin (GetPluginNameStatic(), + "Mac OS X ABI for i386 targets", CreateInstance); } @@ -985,19 +981,21 @@ ABIMacOSX_i386::Terminate() PluginManager::UnregisterPlugin (CreateInstance); } +lldb_private::ConstString +ABIMacOSX_i386::GetPluginNameStatic () +{ + static ConstString g_short_name("abi.macosx-i386"); + return g_short_name; + +} + //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString ABIMacOSX_i386::GetPluginName() { - return pluginName; -} - -const char * -ABIMacOSX_i386::GetShortPluginName() -{ - return pluginShort; + return GetPluginNameStatic(); } uint32_t diff --git a/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h b/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h index 4cc94ab0348..8c2d945e634 100644 --- a/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h +++ b/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h @@ -118,12 +118,12 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + static lldb_private::ConstString + GetPluginNameStatic (); + + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp b/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp index 2cd7bdf82f7..a9b002c03df 100644 --- a/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp +++ b/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp @@ -33,11 +33,6 @@ using namespace lldb; using namespace lldb_private; -static const char *pluginName = "ABISysV_x86_64"; -static const char *pluginDesc = "System V ABI for x86_64 targets"; -static const char *pluginShort = "abi.sysv-x86_64"; - - enum gcc_dwarf_regnums { gcc_dwarf_rax = 0, @@ -1269,8 +1264,8 @@ ABISysV_x86_64::RegisterIsCalleeSaved (const RegisterInfo *reg_info) void ABISysV_x86_64::Initialize() { - PluginManager::RegisterPlugin (pluginName, - pluginDesc, + PluginManager::RegisterPlugin (GetPluginNameStatic(), + "System V ABI for x86_64 targets", CreateInstance); } @@ -1280,19 +1275,20 @@ ABISysV_x86_64::Terminate() PluginManager::UnregisterPlugin (CreateInstance); } +lldb_private::ConstString +ABISysV_x86_64::GetPluginNameStatic() +{ + static ConstString g_name("sysv-x86_64"); + return g_name; +} + //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString ABISysV_x86_64::GetPluginName() { - return pluginName; -} - -const char * -ABISysV_x86_64::GetShortPluginName() -{ - return pluginShort; + return GetPluginNameStatic(); } uint32_t diff --git a/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h b/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h index 2cc3fbcca32..b10181960e8 100644 --- a/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h +++ b/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h @@ -112,15 +112,15 @@ public: static lldb::ABISP CreateInstance (const lldb_private::ArchSpec &arch); + static lldb_private::ConstString + GetPluginNameStatic(); + //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp index b3647044b27..6999b2a75bf 100644 --- a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp +++ b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp @@ -694,7 +694,7 @@ void DisassemblerLLVMC::Initialize() { PluginManager::RegisterPlugin (GetPluginNameStatic(), - GetPluginDescriptionStatic(), + "Disassembler that uses LLVM MC to disassemble i386, x86_64 and ARM.", CreateInstance); llvm::InitializeAllTargetInfos(); @@ -710,16 +710,11 @@ DisassemblerLLVMC::Terminate() } -const char * +ConstString DisassemblerLLVMC::GetPluginNameStatic() { - return "llvm-mc"; -} - -const char * -DisassemblerLLVMC::GetPluginDescriptionStatic() -{ - return "Disassembler that uses LLVM MC to disassemble i386, x86_64 and ARM."; + static ConstString g_name("llvm-mc"); + return g_name; } int DisassemblerLLVMC::OpInfoCallback (void *disassembler, @@ -813,15 +808,9 @@ const char *DisassemblerLLVMC::SymbolLookup (uint64_t value, //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +ConstString DisassemblerLLVMC::GetPluginName() { - return "DisassemblerLLVMC"; -} - -const char * -DisassemblerLLVMC::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h index 4a265c573d8..29b28ade81a 100644 --- a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h +++ b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h @@ -74,12 +74,9 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); - static const char * - GetPluginDescriptionStatic(); - static lldb_private::Disassembler * CreateInstance(const lldb_private::ArchSpec &arch, const char *flavor); @@ -99,12 +96,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp index 5913b329315..873eec85ce0 100644 --- a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp +++ b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp @@ -26,7 +26,7 @@ #include "lldb/Target/Target.h" #include "lldb/Target/Thread.h" #include "lldb/Target/ThreadPlanRunToAddress.h" - +#include "Plugins/Platform/MacOSX/PlatformDarwinKernel.h" #include "DynamicLoaderDarwinKernel.h" @@ -460,7 +460,7 @@ DynamicLoaderDarwinKernel::DynamicLoaderDarwinKernel (Process* process, lldb::ad m_mutex(Mutex::eMutexTypeRecursive), m_break_id (LLDB_INVALID_BREAK_ID) { - PlatformSP platform_sp(Platform::FindPlugin (process, "darwin-kernel")); + PlatformSP platform_sp(Platform::FindPlugin (process, PlatformDarwinKernel::GetPluginNameStatic ())); // Only select the darwin-kernel Platform if we've been asked to load kexts. // It can take some time to scan over all of the kext info.plists and that // shouldn't be done if kext loading is explicitly disabled. @@ -811,8 +811,9 @@ DynamicLoaderDarwinKernel::KextImageInfo::LoadImageUsingMemoryModule (Process *p PlatformSP platform_sp (target.GetPlatform()); if (platform_sp) { - const char *pname = platform_sp->GetShortPluginName(); - if (pname && strcmp (pname, "darwin-kernel") == 0) + ConstString platform_name (platform_sp->GetPluginName()); + static ConstString g_platform_name (PlatformDarwinKernel::GetPluginNameStatic()); + if (platform_name == g_platform_name) { ModuleSpec kext_bundle_module_spec(module_spec); FileSpec kext_filespec(m_name.c_str(), false); @@ -1594,10 +1595,11 @@ DynamicLoaderDarwinKernel::DebuggerInitialize (lldb_private::Debugger &debugger) } } -const char * +lldb_private::ConstString DynamicLoaderDarwinKernel::GetPluginNameStatic() { - return "dynamic-loader.darwin-kernel"; + static ConstString g_name("darwin-kernel"); + return g_name; } const char * @@ -1610,15 +1612,9 @@ DynamicLoaderDarwinKernel::GetPluginDescriptionStatic() //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString DynamicLoaderDarwinKernel::GetPluginName() { - return "DynamicLoaderDarwinKernel"; -} - -const char * -DynamicLoaderDarwinKernel::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.h b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.h index d65622cff03..c34ac6562ab 100644 --- a/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.h +++ b/lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.h @@ -38,7 +38,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -80,12 +80,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp index 94c824a8a05..170d50217fa 100644 --- a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp +++ b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp @@ -1760,10 +1760,11 @@ DynamicLoaderMacOSXDYLD::Terminate() } -const char * +lldb_private::ConstString DynamicLoaderMacOSXDYLD::GetPluginNameStatic() { - return "dynamic-loader.macosx-dyld"; + static ConstString g_name("macosx-dyld"); + return g_name; } const char * @@ -1776,15 +1777,9 @@ DynamicLoaderMacOSXDYLD::GetPluginDescriptionStatic() //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString DynamicLoaderMacOSXDYLD::GetPluginName() { - return "DynamicLoaderMacOSXDYLD"; -} - -const char * -DynamicLoaderMacOSXDYLD::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h index 0b1a9a6a593..6405ed8f1a5 100644 --- a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h +++ b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h @@ -37,7 +37,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -80,12 +80,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp index 88941955847..58173f897eb 100644 --- a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp +++ b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp @@ -40,22 +40,17 @@ DynamicLoaderPOSIXDYLD::Terminate() { } -const char * +lldb_private::ConstString DynamicLoaderPOSIXDYLD::GetPluginName() { - return "DynamicLoaderPOSIXDYLD"; -} - -const char * -DynamicLoaderPOSIXDYLD::GetShortPluginName() -{ - return "linux-dyld"; + return GetPluginNameStatic(); } -const char * +lldb_private::ConstString DynamicLoaderPOSIXDYLD::GetPluginNameStatic() { - return "dynamic-loader.linux-dyld"; + static ConstString g_name("linux-dyld"); + return g_name; } const char * diff --git a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h index 709eacac161..c046798b102 100644 --- a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h +++ b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h @@ -30,7 +30,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -64,12 +64,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp b/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp index 0a828ed0e2c..274ba328ad1 100644 --- a/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp +++ b/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp @@ -178,10 +178,11 @@ DynamicLoaderStatic::Terminate() } -const char * +lldb_private::ConstString DynamicLoaderStatic::GetPluginNameStatic() { - return "dynamic-loader.static"; + static ConstString g_name("static"); + return g_name; } const char * @@ -194,15 +195,9 @@ DynamicLoaderStatic::GetPluginDescriptionStatic() //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString DynamicLoaderStatic::GetPluginName() { - return "DynamicLoaderStatic"; -} - -const char * -DynamicLoaderStatic::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h b/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h index 3bdb016f22c..a99435fa32a 100644 --- a/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h +++ b/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h @@ -37,7 +37,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -72,12 +72,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp index 860e633f8eb..a9d94afcc32 100644 --- a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp +++ b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp @@ -174,10 +174,11 @@ EmulateInstructionARM::Terminate () PluginManager::UnregisterPlugin (CreateInstance); } -const char * +ConstString EmulateInstructionARM::GetPluginNameStatic () { - return "lldb.emulate-instruction.arm"; + static ConstString g_name("arm"); + return g_name; } const char * diff --git a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h index 8c7cb3685f3..b926dc0deb4 100644 --- a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h +++ b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h @@ -11,6 +11,7 @@ #define lldb_EmulateInstructionARM_h_ #include "lldb/Core/EmulateInstruction.h" +#include "lldb/Core/ConstString.h" #include "lldb/Core/Error.h" #include "Plugins/Process/Utility/ARMDefines.h" @@ -67,7 +68,7 @@ public: static void Terminate (); - static const char * + static lldb_private::ConstString GetPluginNameStatic (); static const char * @@ -93,15 +94,9 @@ public: return false; } - virtual const char * + virtual lldb_private::ConstString GetPluginName() { - return "EmulateInstructionARM"; - } - - virtual const char * - GetShortPluginName() - { return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp index 05e66f38974..8a0d218ab34 100644 --- a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp +++ b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp @@ -32,9 +32,6 @@ using namespace lldb; using namespace lldb_private; -static const char *pluginName = "ItaniumABILanguageRuntime"; -static const char *pluginDesc = "Itanium ABI for the C++ language"; -static const char *pluginShort = "language.itanium"; static const char *vtable_demangled_prefix = "vtable for "; bool @@ -306,8 +303,8 @@ ItaniumABILanguageRuntime::CreateInstance (Process *process, lldb::LanguageType void ItaniumABILanguageRuntime::Initialize() { - PluginManager::RegisterPlugin (pluginName, - pluginDesc, + PluginManager::RegisterPlugin (GetPluginNameStatic(), + "Itanium ABI for the C++ language", CreateInstance); } @@ -317,19 +314,20 @@ ItaniumABILanguageRuntime::Terminate() PluginManager::UnregisterPlugin (CreateInstance); } +lldb_private::ConstString +ItaniumABILanguageRuntime::GetPluginNameStatic() +{ + static ConstString g_name("itanium"); + return g_name; +} + //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString ItaniumABILanguageRuntime::GetPluginName() { - return pluginName; -} - -const char * -ItaniumABILanguageRuntime::GetShortPluginName() -{ - return pluginShort; + return GetPluginNameStatic(); } uint32_t diff --git a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h index c9165f446ee..6b2c437de25 100644 --- a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h +++ b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h @@ -52,15 +52,15 @@ namespace lldb_private { static lldb_private::LanguageRuntime * CreateInstance (Process *process, lldb::LanguageType language); + static lldb_private::ConstString + GetPluginNameStatic(); + //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp index 76398f54886..0de4cb9428f 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp @@ -37,11 +37,6 @@ using namespace lldb; using namespace lldb_private; -static const char *pluginName = "AppleObjCRuntimeV1"; -static const char *pluginDesc = "Apple Objective C Language Runtime - Version 1"; -static const char *pluginShort = "language.apple.objc.v1"; - - AppleObjCRuntimeV1::AppleObjCRuntimeV1(Process *process) : AppleObjCRuntime (process), m_hash_signature (), @@ -96,8 +91,8 @@ AppleObjCRuntimeV1::CreateInstance (Process *process, lldb::LanguageType languag void AppleObjCRuntimeV1::Initialize() { - PluginManager::RegisterPlugin (pluginName, - pluginDesc, + PluginManager::RegisterPlugin (GetPluginNameStatic(), + "Apple Objective C Language Runtime - Version 1", CreateInstance); } @@ -107,19 +102,20 @@ AppleObjCRuntimeV1::Terminate() PluginManager::UnregisterPlugin (CreateInstance); } +lldb_private::ConstString +AppleObjCRuntimeV1::GetPluginNameStatic() +{ + static ConstString g_name("apple-objc-v1"); + return g_name; +} + //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +ConstString AppleObjCRuntimeV1::GetPluginName() { - return pluginName; -} - -const char * -AppleObjCRuntimeV1::GetShortPluginName() -{ - return pluginShort; + return GetPluginNameStatic(); } uint32_t diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h index af58ac7e768..ba8ecc2bbcb 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h @@ -114,15 +114,15 @@ public: static lldb_private::LanguageRuntime * CreateInstance (Process *process, lldb::LanguageType language); + static lldb_private::ConstString + GetPluginNameStatic(); + //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp index daa566eb2bc..2df1ac9d03b 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp @@ -50,10 +50,6 @@ using namespace lldb; using namespace lldb_private; -static const char *pluginName = "AppleObjCRuntimeV2"; -static const char *pluginDesc = "Apple Objective C Language Runtime - Version 2"; -static const char *pluginShort = "language.apple.objc.v2"; - // 2 second timeout when running utility functions #define UTILITY_FUNCTION_TIMEOUT_USEC 2*1000*1000 @@ -427,8 +423,8 @@ AppleObjCRuntimeV2::CreateInstance (Process *process, LanguageType language) void AppleObjCRuntimeV2::Initialize() { - PluginManager::RegisterPlugin (pluginName, - pluginDesc, + PluginManager::RegisterPlugin (GetPluginNameStatic(), + "Apple Objective C Language Runtime - Version 2", CreateInstance); } @@ -438,19 +434,21 @@ AppleObjCRuntimeV2::Terminate() PluginManager::UnregisterPlugin (CreateInstance); } +lldb_private::ConstString +AppleObjCRuntimeV2::GetPluginNameStatic() +{ + static ConstString g_name("apple-objc-v2"); + return g_name; +} + + //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString AppleObjCRuntimeV2::GetPluginName() { - return pluginName; -} - -const char * -AppleObjCRuntimeV2::GetShortPluginName() -{ - return pluginShort; + return GetPluginNameStatic(); } uint32_t diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h index ae2e6f35ab0..54cc3b86b1a 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h @@ -55,15 +55,15 @@ public: static lldb_private::LanguageRuntime * CreateInstance (Process *process, lldb::LanguageType language); + static lldb_private::ConstString + GetPluginNameStatic(); + //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp index a5e87fc358d..109e429fc7f 100644 --- a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp +++ b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp @@ -148,11 +148,29 @@ ObjectContainerBSDArchive::Archive::ParseObjects () } ObjectContainerBSDArchive::Object * -ObjectContainerBSDArchive::Archive::FindObject (const ConstString &object_name) +ObjectContainerBSDArchive::Archive::FindObject (const ConstString &object_name, const TimeValue &object_mod_time) { const ObjectNameToIndexMap::Entry *match = m_object_name_to_index_map.FindFirstValueForName (object_name.GetCString()); if (match) - return &m_objects[match->value]; + { + if (object_mod_time.IsValid()) + { + const uint64_t object_date = object_mod_time.GetAsSecondsSinceJan1_1970(); + if (m_objects[match->value].ar_date == object_date) + return &m_objects[match->value]; + const ObjectNameToIndexMap::Entry *next_match = m_object_name_to_index_map.FindNextValueForName (match); + while (next_match) + { + if (m_objects[next_match->value].ar_date == object_date) + return &m_objects[next_match->value]; + next_match = m_object_name_to_index_map.FindNextValueForName (next_match); + } + } + else + { + return &m_objects[match->value]; + } + } return NULL; } @@ -250,10 +268,11 @@ ObjectContainerBSDArchive::Terminate() } -const char * +lldb_private::ConstString ObjectContainerBSDArchive::GetPluginNameStatic() { - return "object-container.bsd-archive"; + static ConstString g_name("bsd-archive"); + return g_name; } const char * @@ -297,11 +316,11 @@ ObjectContainerBSDArchive::CreateInstance Archive::shared_ptr archive_sp (Archive::FindCachedArchive (*file, module_sp->GetArchitecture(), module_sp->GetModificationTime())); std::unique_ptr<ObjectContainerBSDArchive> container_ap(new ObjectContainerBSDArchive (module_sp, - archive_data_sp, - archive_data_offset, - file, - file_offset, - length)); + archive_data_sp, + archive_data_offset, + file, + file_offset, + length)); if (container_ap.get()) { @@ -434,7 +453,8 @@ ObjectContainerBSDArchive::GetObjectFile (const FileSpec *file) { if (module_sp->GetObjectName() && m_archive_sp) { - Object *object = m_archive_sp->FindObject (module_sp->GetObjectName()); + Object *object = m_archive_sp->FindObject (module_sp->GetObjectName(), + module_sp->GetObjectModificationTime()); if (object) { lldb::offset_t data_offset = m_offset + object->ar_file_offset; @@ -454,15 +474,9 @@ ObjectContainerBSDArchive::GetObjectFile (const FileSpec *file) //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString ObjectContainerBSDArchive::GetPluginName() { - return "object-container.bsd-archive"; -} - -const char * -ObjectContainerBSDArchive::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h index 7802eb152d5..a44bb80a965 100644 --- a/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h +++ b/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h @@ -32,7 +32,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -89,12 +89,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); @@ -163,7 +160,8 @@ protected: ParseObjects (); Object * - FindObject (const lldb_private::ConstString &object_name); + FindObject (const lldb_private::ConstString &object_name, + const lldb_private::TimeValue &object_mod_time); const lldb_private::TimeValue & GetModificationTime() diff --git a/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp b/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp index d1f4434c987..f28aa3bed05 100644 --- a/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp +++ b/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp @@ -37,10 +37,11 @@ ObjectContainerUniversalMachO::Terminate() } -const char * +lldb_private::ConstString ObjectContainerUniversalMachO::GetPluginNameStatic() { - return "object-container.mach-o"; + static ConstString g_name("mach-o"); + return g_name; } const char * @@ -259,15 +260,9 @@ ObjectContainerUniversalMachO::GetObjectFile (const FileSpec *file) //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString ObjectContainerUniversalMachO::GetPluginName() { - return "ObjectContainerUniversalMachO"; -} - -const char * -ObjectContainerUniversalMachO::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h b/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h index 1fe1a2d2165..0c4a3d47c7a 100644 --- a/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h +++ b/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h @@ -28,7 +28,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -84,12 +84,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp index 4ba081a7b7c..f4af192e38b 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp @@ -160,10 +160,11 @@ ObjectFileELF::Terminate() PluginManager::UnregisterPlugin(CreateInstance); } -const char * +lldb_private::ConstString ObjectFileELF::GetPluginNameStatic() { - return "object-file.elf"; + static ConstString g_name("elf"); + return g_name; } const char * @@ -236,15 +237,9 @@ ObjectFileELF::GetModuleSpecifications (const lldb_private::FileSpec& file, //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString ObjectFileELF::GetPluginName() { - return "ObjectFileELF"; -} - -const char * -ObjectFileELF::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h index 78cfb3f5157..cdf2731b254 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h @@ -38,7 +38,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -68,12 +68,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp index b94ebca297d..7047395bdc7 100644 --- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp +++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp @@ -379,10 +379,11 @@ ObjectFileMachO::Terminate() } -const char * +lldb_private::ConstString ObjectFileMachO::GetPluginNameStatic() { - return "object-file.mach-o"; + static ConstString g_name("mach-o"); + return g_name; } const char * @@ -4169,15 +4170,9 @@ ObjectFileMachO::GetLLDBSharedCacheUUID () //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString ObjectFileMachO::GetPluginName() { - return "ObjectFileMachO"; -} - -const char * -ObjectFileMachO::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h index 2226e3dd695..349928e9538 100644 --- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h +++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h @@ -35,7 +35,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -122,12 +122,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp index 157b148ee5c..b25db97d498 100644 --- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp +++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp @@ -133,10 +133,11 @@ ObjectFilePECOFF::Terminate() } -const char * +lldb_private::ConstString ObjectFilePECOFF::GetPluginNameStatic() { - return "object-file.pe-coff"; + static ConstString g_name("pe-coff"); + return g_name; } const char * @@ -954,15 +955,9 @@ ObjectFilePECOFF::CalculateStrata() //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +ConstString ObjectFilePECOFF::GetPluginName() { - return "ObjectFilePECOFF"; -} - -const char * -ObjectFilePECOFF::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h index 33973abad02..d980006eab6 100644 --- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h +++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h @@ -28,7 +28,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -106,12 +106,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); // diff --git a/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp index 1af044e00e2..67b5c4f7088 100644 --- a/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp +++ b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp @@ -69,10 +69,11 @@ OperatingSystemPython::CreateInstance (Process *process, bool force) } -const char * +ConstString OperatingSystemPython::GetPluginNameStatic() { - return "python"; + static ConstString g_name("python"); + return g_name; } const char * @@ -152,15 +153,9 @@ OperatingSystemPython::GetDynamicRegisterInfo () //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +ConstString OperatingSystemPython::GetPluginName() { - return "OperatingSystemPython"; -} - -const char * -OperatingSystemPython::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h index 0055058192c..077039e50d5 100644 --- a/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h +++ b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h @@ -34,7 +34,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -52,12 +52,9 @@ public: //------------------------------------------------------------------ // lldb_private::PluginInterface Methods //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp b/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp index 07846c81cc7..0c2c46f84dd 100644 --- a/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp +++ b/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp @@ -85,19 +85,19 @@ PlatformFreeBSD::CreateInstance (bool force, const lldb_private::ArchSpec *arch) } -const char * -PlatformFreeBSD::GetPluginNameStatic() -{ - return "plugin.platform.freebsd"; -} - -const char * -PlatformFreeBSD::GetShortPluginNameStatic (bool is_host) +lldb_private::ConstString +PlatformFreeBSD::GetPluginNameStatic (bool is_host) { if (is_host) - return Platform::GetHostPlatformName (); + { + static ConstString g_host_name(Platform::GetHostPlatformName ()); + return g_host_name; + } else - return "remote-freebsd"; + { + static ConstString g_remote_name("remote-freebsd"); + return g_remote_name; + } } const char * @@ -122,7 +122,7 @@ PlatformFreeBSD::Initialize () default_platform_sp->SetSystemArchitecture (Host::GetArchitecture()); Platform::SetDefaultPlatform (default_platform_sp); #endif - PluginManager::RegisterPlugin(PlatformFreeBSD::GetShortPluginNameStatic(false), + PluginManager::RegisterPlugin(PlatformFreeBSD::GetPluginNameStatic(false), PlatformFreeBSD::GetDescriptionStatic(false), PlatformFreeBSD::CreateInstance); } @@ -269,7 +269,7 @@ PlatformFreeBSD::ResolveExecutable (const FileSpec &exe_file, { error.SetErrorStringWithFormat ("'%s' doesn't contain any '%s' platform architectures: %s", exe_file.GetPath().c_str(), - GetShortPluginName(), + GetPluginName().GetCString(), arch_names.GetString().c_str()); } } @@ -377,7 +377,7 @@ PlatformFreeBSD::ConnectRemote (Args& args) Error error; if (IsHost()) { - error.SetErrorStringWithFormat ("can't connect to the host platform '%s', always connected", GetShortPluginName()); + error.SetErrorStringWithFormat ("can't connect to the host platform '%s', always connected", GetPluginName().GetCString()); } else { @@ -415,7 +415,7 @@ PlatformFreeBSD::DisconnectRemote () if (IsHost()) { - error.SetErrorStringWithFormat ("can't disconnect from the host platform '%s', always connected", GetShortPluginName()); + error.SetErrorStringWithFormat ("can't disconnect from the host platform '%s', always connected", GetPluginName().GetCString()); } else { diff --git a/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h b/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h index 80c4a63e0a8..4aa158eb6e8 100644 --- a/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h +++ b/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h @@ -33,14 +33,11 @@ public: static void Terminate (); - static const char * - GetPluginNameStatic(); - - static const char * - GetShortPluginNameStatic(bool is_host); + static lldb_private::ConstString + GetPluginNameStatic (bool is_host); static const char * - GetDescriptionStatic(bool is_host); + GetDescriptionStatic (bool is_host); //------------------------------------------------------------ // Class Methods @@ -53,16 +50,10 @@ public: //------------------------------------------------------------ // lldb_private::PluginInterface functions //------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName() { - return GetPluginNameStatic(); - } - - virtual const char * - GetShortPluginName() - { - return GetShortPluginNameStatic (IsHost()); + return GetPluginNameStatic (IsHost()); } virtual uint32_t diff --git a/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp b/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp index 1078a23443f..ef4bd41dc78 100644 --- a/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp +++ b/lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp @@ -86,19 +86,20 @@ PlatformLinux::CreateInstance (bool force, const ArchSpec *arch) return NULL; } -const char * -PlatformLinux::GetPluginNameStatic() -{ - return "plugin.platform.linux"; -} -const char * -PlatformLinux::GetShortPluginNameStatic (bool is_host) +lldb_private::ConstString +PlatformLinux::GetPluginNameStatic (bool is_host) { if (is_host) - return Platform::GetHostPlatformName (); + { + static ConstString g_host_name(Platform::GetHostPlatformName ()); + return g_host_name; + } else - return "remote-linux"; + { + static ConstString g_remote_name("remote-linux"); + return g_remote_name; + } } const char * @@ -110,6 +111,12 @@ PlatformLinux::GetPluginDescriptionStatic (bool is_host) return "Remote Linux user platform plug-in."; } +lldb_private::ConstString +PlatformLinux::GetPluginName() +{ + return GetPluginNameStatic(IsHost()); +} + void PlatformLinux::Initialize () { @@ -120,7 +127,7 @@ PlatformLinux::Initialize () default_platform_sp->SetSystemArchitecture (Host::GetArchitecture()); Platform::SetDefaultPlatform (default_platform_sp); #endif - PluginManager::RegisterPlugin(PlatformLinux::GetShortPluginNameStatic(false), + PluginManager::RegisterPlugin(PlatformLinux::GetPluginNameStatic(false), PlatformLinux::GetPluginDescriptionStatic(false), PlatformLinux::CreateInstance); } @@ -242,7 +249,7 @@ PlatformLinux::ResolveExecutable (const FileSpec &exe_file, { error.SetErrorStringWithFormat ("'%s' doesn't contain any '%s' platform architectures: %s", exe_file.GetPath().c_str(), - GetShortPluginName(), + GetPluginName().GetCString(), arch_names.GetString().c_str()); } } diff --git a/lldb/source/Plugins/Platform/Linux/PlatformLinux.h b/lldb/source/Plugins/Platform/Linux/PlatformLinux.h index 8b43def165b..a77780d59a2 100644 --- a/lldb/source/Plugins/Platform/Linux/PlatformLinux.h +++ b/lldb/source/Plugins/Platform/Linux/PlatformLinux.h @@ -39,26 +39,14 @@ namespace lldb_private { static Platform * CreateInstance (bool force, const lldb_private::ArchSpec *arch); - static const char * - GetPluginNameStatic(); - - static const char * - GetShortPluginNameStatic(bool is_host); + static lldb_private::ConstString + GetPluginNameStatic (bool is_host); static const char * - GetPluginDescriptionStatic(bool is_host); + GetPluginDescriptionStatic (bool is_host); - virtual const char * - GetPluginName() - { - return GetPluginNameStatic(); - } - - virtual const char * - GetShortPluginName() - { - return "PlatformLinux"; - } + virtual lldb_private::ConstString + GetPluginName(); virtual uint32_t GetPluginVersion() diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp index b3775d410ae..b958e0fe870 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp @@ -232,7 +232,7 @@ PlatformDarwin::ResolveExecutable (const FileSpec &exe_file, { error.SetErrorStringWithFormat ("'%s' doesn't contain any '%s' platform architectures: %s", exe_file.GetPath().c_str(), - GetShortPluginName(), + GetPluginName().GetCString(), arch_names.GetString().c_str()); } } @@ -501,7 +501,7 @@ PlatformDarwin::ConnectRemote (Args& args) Error error; if (IsHost()) { - error.SetErrorStringWithFormat ("can't connect to the host platform '%s', always connected", GetShortPluginName()); + error.SetErrorStringWithFormat ("can't connect to the host platform '%s', always connected", GetPluginName().GetCString()); } else { @@ -539,7 +539,7 @@ PlatformDarwin::DisconnectRemote () if (IsHost()) { - error.SetErrorStringWithFormat ("can't disconnect from the host platform '%s', always connected", GetShortPluginName()); + error.SetErrorStringWithFormat ("can't disconnect from the host platform '%s', always connected", GetPluginName().GetCString()); } else { diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp index 6b6b8030608..104285f19b6 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp @@ -53,7 +53,7 @@ PlatformDarwinKernel::Initialize () { if (g_initialize_count++ == 0) { - PluginManager::RegisterPlugin (PlatformDarwinKernel::GetShortPluginNameStatic(), + PluginManager::RegisterPlugin (PlatformDarwinKernel::GetPluginNameStatic(), PlatformDarwinKernel::GetDescriptionStatic(), PlatformDarwinKernel::CreateInstance, PlatformDarwinKernel::DebuggerInitialize); @@ -147,16 +147,11 @@ PlatformDarwinKernel::CreateInstance (bool force, const ArchSpec *arch) } -const char * +lldb_private::ConstString PlatformDarwinKernel::GetPluginNameStatic () { - return "PlatformDarwinKernel"; -} - -const char * -PlatformDarwinKernel::GetShortPluginNameStatic() -{ - return "darwin-kernel"; + static ConstString g_name("darwin-kernel"); + return g_name; } const char * diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.h b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.h index 0b9b93677e5..3d2035f64f9 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.h +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.h @@ -40,13 +40,10 @@ public: static void Terminate (); - static const char * + static lldb_private::ConstString GetPluginNameStatic (); static const char * - GetShortPluginNameStatic(); - - static const char * GetDescriptionStatic(); //------------------------------------------------------------ @@ -60,18 +57,12 @@ public: //------------------------------------------------------------ // lldb_private::PluginInterface functions //------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName() { return GetPluginNameStatic(); } - virtual const char * - GetShortPluginName() - { - return GetShortPluginNameStatic(); - } - virtual uint32_t GetPluginVersion() { diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp index cf783119a1d..16bcafd97b8 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp @@ -41,7 +41,7 @@ PlatformMacOSX::Initialize () default_platform_sp->SetSystemArchitecture (Host::GetArchitecture()); Platform::SetDefaultPlatform (default_platform_sp); #endif - PluginManager::RegisterPlugin (PlatformMacOSX::GetShortPluginNameStatic(false), + PluginManager::RegisterPlugin (PlatformMacOSX::GetPluginNameStatic(false), PlatformMacOSX::GetDescriptionStatic(false), PlatformMacOSX::CreateInstance); } @@ -115,20 +115,19 @@ PlatformMacOSX::CreateInstance (bool force, const ArchSpec *arch) return NULL; } - -const char * -PlatformMacOSX::GetPluginNameStatic () -{ - return "PlatformMacOSX"; -} - -const char * -PlatformMacOSX::GetShortPluginNameStatic (bool is_host) +lldb_private::ConstString +PlatformMacOSX::GetPluginNameStatic (bool is_host) { if (is_host) - return Platform::GetHostPlatformName (); + { + static ConstString g_host_name(Platform::GetHostPlatformName ()); + return g_host_name; + } else - return "remote-macosx"; + { + static ConstString g_remote_name("remote-macosx"); + return g_remote_name; + } } const char * diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h b/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h index 3a5eaf0072a..b93c5fa6921 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h @@ -32,11 +32,8 @@ public: static void Terminate (); - static const char * - GetPluginNameStatic (); - - static const char * - GetShortPluginNameStatic(bool is_host); + static lldb_private::ConstString + GetPluginNameStatic (bool is_host); static const char * GetDescriptionStatic(bool is_host); @@ -52,16 +49,10 @@ public: //------------------------------------------------------------ // lldb_private::PluginInterface functions //------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName() { - return GetPluginNameStatic (); - } - - virtual const char * - GetShortPluginName() - { - return GetShortPluginNameStatic (IsHost()); + return GetPluginNameStatic (IsHost()); } virtual uint32_t diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp index fe6d358e6fc..7969aa819cf 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp @@ -65,7 +65,7 @@ PlatformRemoteiOS::Initialize () { if (g_initialize_count++ == 0) { - PluginManager::RegisterPlugin (PlatformRemoteiOS::GetShortPluginNameStatic(), + PluginManager::RegisterPlugin (PlatformRemoteiOS::GetPluginNameStatic(), PlatformRemoteiOS::GetDescriptionStatic(), PlatformRemoteiOS::CreateInstance); } @@ -148,16 +148,11 @@ PlatformRemoteiOS::CreateInstance (bool force, const ArchSpec *arch) } -const char * +lldb_private::ConstString PlatformRemoteiOS::GetPluginNameStatic () { - return "PlatformRemoteiOS"; -} - -const char * -PlatformRemoteiOS::GetShortPluginNameStatic() -{ - return "remote-ios"; + static ConstString g_name("remote-ios"); + return g_name; } const char * @@ -279,7 +274,7 @@ PlatformRemoteiOS::ResolveExecutable (const FileSpec &exe_file, { error.SetErrorStringWithFormat ("'%s' doesn't contain any '%s' platform architectures: %s", exe_file.GetPath().c_str(), - GetShortPluginName(), + GetPluginName().GetCString(), arch_names.GetString().c_str()); } } @@ -661,7 +656,7 @@ PlatformRemoteiOS::GetSymbolFile (const FileSpec &platform_file, error.SetErrorStringWithFormat ("unable to locate a platform file for '%s' in platform '%s'", platform_file_path, - GetPluginName()); + GetPluginName().GetCString()); } else { diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.h b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.h index d52c6b09df7..ef59b124d8e 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.h +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.h @@ -34,13 +34,10 @@ public: static void Terminate (); - static const char * + static lldb_private::ConstString GetPluginNameStatic (); static const char * - GetShortPluginNameStatic(); - - static const char * GetDescriptionStatic(); //------------------------------------------------------------ @@ -54,18 +51,12 @@ public: //------------------------------------------------------------ // lldb_private::PluginInterface functions //------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName() { return GetPluginNameStatic(); } - virtual const char * - GetShortPluginName() - { - return GetShortPluginNameStatic(); - } - virtual uint32_t GetPluginVersion() { diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.cpp index 5f1cfc8dc86..806eb7d60ea 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.cpp @@ -42,7 +42,7 @@ PlatformiOSSimulator::Initialize () { if (g_initialize_count++ == 0) { - PluginManager::RegisterPlugin (PlatformiOSSimulator::GetShortPluginNameStatic(), + PluginManager::RegisterPlugin (PlatformiOSSimulator::GetPluginNameStatic(), PlatformiOSSimulator::GetDescriptionStatic(), PlatformiOSSimulator::CreateInstance); } @@ -124,16 +124,11 @@ PlatformiOSSimulator::CreateInstance (bool force, const ArchSpec *arch) } -const char * +lldb_private::ConstString PlatformiOSSimulator::GetPluginNameStatic () { - return "PlatformiOSSimulator"; -} - -const char * -PlatformiOSSimulator::GetShortPluginNameStatic() -{ - return "ios-simulator"; + static ConstString g_name("ios-simulator"); + return g_name; } const char * @@ -242,7 +237,7 @@ PlatformiOSSimulator::ResolveExecutable (const FileSpec &exe_file, { error.SetErrorStringWithFormat ("'%s' doesn't contain any '%s' platform architectures: %s", exe_file.GetPath().c_str(), - GetShortPluginName(), + GetPluginName().GetCString(), arch_names.GetString().c_str()); } } @@ -352,7 +347,7 @@ PlatformiOSSimulator::GetFile (const FileSpec &platform_file, } error.SetErrorStringWithFormat ("unable to locate a platform file for '%s' in platform '%s'", platform_file_path, - GetPluginName()); + GetPluginName().GetCString()); } else { diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h b/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h index 36b554b5404..ce818c431a7 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h @@ -32,13 +32,10 @@ public: static void Terminate (); - static const char * + static lldb_private::ConstString GetPluginNameStatic (); static const char * - GetShortPluginNameStatic(); - - static const char * GetDescriptionStatic(); //------------------------------------------------------------ @@ -52,18 +49,12 @@ public: //------------------------------------------------------------ // lldb_private::PluginInterface functions //------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName() { return GetPluginNameStatic(); } - virtual const char * - GetShortPluginName() - { - return GetShortPluginNameStatic(); - } - virtual uint32_t GetPluginVersion() { diff --git a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp index cc7a2193867..221001b7ca0 100644 --- a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp +++ b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp @@ -41,7 +41,7 @@ PlatformRemoteGDBServer::Initialize () if (g_initialized == false) { g_initialized = true; - PluginManager::RegisterPlugin (PlatformRemoteGDBServer::GetShortPluginNameStatic(), + PluginManager::RegisterPlugin (PlatformRemoteGDBServer::GetPluginNameStatic(), PlatformRemoteGDBServer::GetDescriptionStatic(), PlatformRemoteGDBServer::CreateInstance); } @@ -71,10 +71,11 @@ PlatformRemoteGDBServer::CreateInstance (bool force, const lldb_private::ArchSpe } -const char * -PlatformRemoteGDBServer::GetShortPluginNameStatic() +lldb_private::ConstString +PlatformRemoteGDBServer::GetPluginNameStatic() { - return "remote-gdb-server"; + static ConstString g_name("remote-gdb-server"); + return g_name; } const char * diff --git a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h index ad2ffa53194..22b3dd49be5 100644 --- a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h +++ b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h @@ -32,8 +32,8 @@ public: static lldb_private::Platform* CreateInstance (bool force, const lldb_private::ArchSpec *arch); - static const char * - GetShortPluginNameStatic(); + static lldb_private::ConstString + GetPluginNameStatic(); static const char * GetDescriptionStatic(); @@ -47,16 +47,10 @@ public: //------------------------------------------------------------ // lldb_private::PluginInterface functions //------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName() { - return "PlatformRemoteGDBServer"; - } - - virtual const char * - GetShortPluginName() - { - return GetShortPluginNameStatic(); + return GetPluginNameStatic(); } virtual uint32_t diff --git a/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp b/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp index 19e332e2a51..ea26d972b86 100644 --- a/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp +++ b/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp @@ -64,10 +64,11 @@ ProcessFreeBSD::Initialize() } } -const char * +lldb_private::ConstString ProcessFreeBSD::GetPluginNameStatic() { - return "freebsd"; + static ConstString g_name("freebsd"); + return g_name; } const char * @@ -79,16 +80,10 @@ ProcessFreeBSD::GetPluginDescriptionStatic() //------------------------------------------------------------------------------ // ProcessInterface protocol. -const char * +lldb_private::ConstString ProcessFreeBSD::GetPluginName() { - return "process.freebsd"; -} - -const char * -ProcessFreeBSD::GetShortPluginName() -{ - return "process.freebsd"; + return GetPluginNameStatic(); } uint32_t diff --git a/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h b/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h index 74996f13127..5f79b74cad3 100644 --- a/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h +++ b/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h @@ -42,7 +42,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -60,12 +60,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp index 6118a0976f7..5d93502823e 100644 --- a/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp +++ b/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp @@ -81,10 +81,11 @@ void ProcessLinux::Terminate() { } -const char * +lldb_private::ConstString ProcessLinux::GetPluginNameStatic() { - return "linux"; + static ConstString g_name("linux"); + return g_name; } const char * @@ -105,16 +106,10 @@ ProcessLinux::UpdateThreadList(ThreadList &old_thread_list, ThreadList &new_thre //------------------------------------------------------------------------------ // ProcessInterface protocol. -const char * +lldb_private::ConstString ProcessLinux::GetPluginName() { - return "process.linux"; -} - -const char * -ProcessLinux::GetShortPluginName() -{ - return "process.linux"; + return GetPluginNameStatic(); } uint32_t diff --git a/lldb/source/Plugins/Process/Linux/ProcessLinux.h b/lldb/source/Plugins/Process/Linux/ProcessLinux.h index 9acbf49f5f0..e65f1fac8b7 100644 --- a/lldb/source/Plugins/Process/Linux/ProcessLinux.h +++ b/lldb/source/Plugins/Process/Linux/ProcessLinux.h @@ -41,7 +41,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -58,12 +58,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp index 18007369e83..ef97079dca3 100644 --- a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp +++ b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp @@ -46,10 +46,11 @@ using namespace lldb_private; static const lldb::tid_t g_kernel_tid = 1; -const char * +ConstString ProcessKDP::GetPluginNameStatic() { - return "kdp-remote"; + static ConstString g_name("kdp-remote"); + return g_name; } const char * @@ -141,15 +142,9 @@ ProcessKDP::~ProcessKDP() //---------------------------------------------------------------------- // PluginInterface //---------------------------------------------------------------------- -const char * +lldb_private::ConstString ProcessKDP::GetPluginName() { - return "Process debugging plug-in that uses the Darwin KDP remote protocol"; -} - -const char * -ProcessKDP::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h index 1dff43f1090..0075c7ce188 100644 --- a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h +++ b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h @@ -49,7 +49,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -113,12 +113,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp index a9f572c090b..79cb62aa006 100644 --- a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp +++ b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp @@ -167,7 +167,8 @@ ProcessKDPLog::ListLogCategories (Stream *strm) " thread - log thread events and activities\n" " step - log step related activities\n" " verbose - enable verbose logging\n" - " watch - log watchpoint related activities\n", ProcessKDP::GetPluginNameStatic()); + " watch - log watchpoint related activities\n", + ProcessKDP::GetPluginNameStatic().GetCString()); } diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp index 0008dbfa288..3475bab3bca 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -116,10 +116,11 @@ get_random_port () } -const char * +lldb_private::ConstString ProcessGDBRemote::GetPluginNameStatic() { - return "gdb-remote"; + static ConstString g_name("gdb-remote"); + return g_name; } const char * @@ -233,15 +234,9 @@ ProcessGDBRemote::~ProcessGDBRemote() //---------------------------------------------------------------------- // PluginInterface //---------------------------------------------------------------------- -const char * +ConstString ProcessGDBRemote::GetPluginName() { - return "Process debugging plug-in that uses the GDB remote protocol"; -} - -const char * -ProcessGDBRemote::GetShortPluginName() -{ return GetPluginNameStatic(); } @@ -1746,7 +1741,7 @@ ProcessGDBRemote::DoDestroy () // FIXME: These should be ConstStrings so we aren't doing strcmp'ing. if (platform_sp && platform_sp->GetName() - && strcmp (platform_sp->GetName(), PlatformRemoteiOS::GetShortPluginNameStatic()) == 0) + && platform_sp->GetName() == PlatformRemoteiOS::GetPluginNameStatic()) { if (m_destroy_tried_resuming) { diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h index 5cbb13f4914..51924c553af 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h +++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h @@ -50,7 +50,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -119,12 +119,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp index 2bb6826e223..15b861feaa8 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp @@ -178,7 +178,7 @@ ProcessGDBRemoteLog::ListLogCategories (Stream *strm) " thread - log thread events and activities\n" " step - log step related activities\n" " verbose - enable verbose logging\n" - " watch - log watchpoint related activities\n", ProcessGDBRemote::GetPluginNameStatic()); + " watch - log watchpoint related activities\n", ProcessGDBRemote::GetPluginNameStatic().GetCString()); } diff --git a/lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp b/lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp index 0e19ebe7afd..abf3b673e68 100644 --- a/lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp +++ b/lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp @@ -38,10 +38,11 @@ using namespace lldb; using namespace lldb_private; -const char * +ConstString ProcessMachCore::GetPluginNameStatic() { - return "mach-o-core"; + static ConstString g_name("mach-o-core"); + return g_name; } const char * @@ -125,15 +126,9 @@ ProcessMachCore::~ProcessMachCore() //---------------------------------------------------------------------- // PluginInterface //---------------------------------------------------------------------- -const char * +ConstString ProcessMachCore::GetPluginName() { - return "Process debugging plug-in that loads mach-o core files."; -} - -const char * -ProcessMachCore::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/Process/mach-core/ProcessMachCore.h b/lldb/source/Plugins/Process/mach-core/ProcessMachCore.h index 246d5722d5a..5048a549f8c 100644 --- a/lldb/source/Plugins/Process/mach-core/ProcessMachCore.h +++ b/lldb/source/Plugins/Process/mach-core/ProcessMachCore.h @@ -39,7 +39,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -74,12 +74,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp index 54e789e1fef..27fa261813b 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp @@ -51,7 +51,7 @@ LogChannelDWARF::CreateInstance () return new LogChannelDWARF (); } -const char * +lldb_private::ConstString LogChannelDWARF::GetPluginNameStatic() { return SymbolFileDWARF::GetPluginNameStatic(); @@ -63,15 +63,9 @@ LogChannelDWARF::GetPluginDescriptionStatic() return "DWARF log channel for debugging plug-in issues."; } -const char * +lldb_private::ConstString LogChannelDWARF::GetPluginName() { - return GetPluginDescriptionStatic(); -} - -const char * -LogChannelDWARF::GetShortPluginName() -{ return GetPluginNameStatic(); } @@ -187,7 +181,7 @@ LogChannelDWARF::ListCategories (Stream *strm) " lookups - log any lookups that happen by name, regex, or address\n" " completion - log struct/unions/class type completions\n" " map - log insertions of object files into DWARF debug maps\n", - SymbolFileDWARF::GetPluginNameStatic()); + SymbolFileDWARF::GetPluginNameStatic().GetCString()); } Log * diff --git a/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h b/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h index 6a6375cc806..2091a8414f5 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h @@ -43,7 +43,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -52,12 +52,9 @@ public: static lldb_private::LogChannel * CreateInstance (); - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp index d0b1a5ac00d..9a8030a0fe4 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp @@ -207,10 +207,11 @@ SymbolFileDWARF::Terminate() } -const char * +lldb_private::ConstString SymbolFileDWARF::GetPluginNameStatic() { - return "dwarf"; + static ConstString g_name("dwarf"); + return g_name; } const char * @@ -7557,15 +7558,9 @@ SymbolFileDWARF::ParseVariables //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +ConstString SymbolFileDWARF::GetPluginName() { - return "SymbolFileDWARF"; -} - -const char * -SymbolFileDWARF::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h index 08dfc9632ee..87f86b80bbb 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h @@ -74,7 +74,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -181,12 +181,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp index 941484ea3a5..3afe396f223 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp @@ -179,8 +179,9 @@ public: const FileSpec& file_spec, const ArchSpec& arch, const ConstString *object_name, - off_t object_offset) : - Module (file_spec, arch, object_name, object_offset), + off_t object_offset, + const TimeValue *object_mod_time_ptr) : + Module (file_spec, arch, object_name, object_offset, object_mod_time_ptr), m_exe_module_wp (exe_module_sp), m_cu_idx (cu_idx) { @@ -213,7 +214,7 @@ public: // Set a a pointer to this class to set our OSO DWARF file know // that the DWARF is being used along with a debug map and that // it will have the remapped sections that we do below. - SymbolFileDWARF *oso_symfile = (SymbolFileDWARF *)symbol_vendor->GetSymbolFile(); + SymbolFileDWARF *oso_symfile = SymbolFileDWARFDebugMap::GetSymbolFileAsSymbolFileDWARF(symbol_vendor->GetSymbolFile()); if (!oso_symfile) return NULL; @@ -263,10 +264,11 @@ SymbolFileDWARFDebugMap::Terminate() } -const char * +lldb_private::ConstString SymbolFileDWARFDebugMap::GetPluginNameStatic() { - return "dwarf-debugmap"; + static ConstString g_name("dwarf-debugmap"); + return g_name; } const char * @@ -381,6 +383,9 @@ SymbolFileDWARFDebugMap::InitOSO() { m_compile_unit_infos[i].so_file.SetFile(so_symbol->GetName().AsCString(), false); m_compile_unit_infos[i].oso_path = oso_symbol->GetName(); + TimeValue oso_mod_time; + oso_mod_time.OffsetWithSeconds(oso_symbol->GetAddress().GetOffset()); + m_compile_unit_infos[i].oso_mod_time = oso_mod_time; uint32_t sibling_idx = so_symbol->GetSiblingIndex(); // The sibling index can't be less that or equal to the current index "i" if (sibling_idx <= i) @@ -436,12 +441,26 @@ SymbolFileDWARFDebugMap::GetModuleByCompUnitInfo (CompileUnitInfo *comp_unit_inf } else { + ObjectFile *obj_file = GetObjectFile(); comp_unit_info->oso_sp.reset (new OSOInfo()); m_oso_map[comp_unit_info->oso_path] = comp_unit_info->oso_sp; const char *oso_path = comp_unit_info->oso_path.GetCString(); FileSpec oso_file (oso_path, false); ConstString oso_object; - if (!oso_file.Exists()) + if (oso_file.Exists()) + { + TimeValue oso_mod_time (oso_file.GetModificationTime()); + if (oso_mod_time != comp_unit_info->oso_mod_time) + { + obj_file->GetModule()->ReportError ("debug map object file '%s' has changed (actual time is 0x%" PRIx64 ", debug map time is 0x%" PRIx64 ") since this executable was linked, file will be ignored", + oso_file.GetPath().c_str(), + oso_mod_time.GetAsSecondsSinceJan1_1970(), + comp_unit_info->oso_mod_time.GetAsSecondsSinceJan1_1970()); + return NULL; + } + + } + else { const bool must_exist = true; @@ -450,7 +469,6 @@ SymbolFileDWARFDebugMap::GetModuleByCompUnitInfo (CompileUnitInfo *comp_unit_inf oso_object, must_exist)) { - comp_unit_info->oso_sp->symbol_file_supported = false; return NULL; } } @@ -458,12 +476,13 @@ SymbolFileDWARFDebugMap::GetModuleByCompUnitInfo (CompileUnitInfo *comp_unit_inf // use the debug map, to add new sections to each .o file and // even though a .o file might not have changed, the sections // that get added to the .o file can change. - comp_unit_info->oso_sp->module_sp.reset (new DebugMapModule (GetObjectFile()->GetModule(), + comp_unit_info->oso_sp->module_sp.reset (new DebugMapModule (obj_file->GetModule(), GetCompUnitInfoIndex(comp_unit_info), oso_file, m_obj_file->GetModule()->GetArchitecture(), oso_object ? &oso_object : NULL, - 0)); + 0, + oso_object ? &comp_unit_info->oso_mod_time : NULL)); } } if (comp_unit_info->oso_sp) @@ -538,6 +557,14 @@ SymbolFileDWARFDebugMap::GetSymbolFileByOSOIndex (uint32_t oso_idx) } SymbolFileDWARF * +SymbolFileDWARFDebugMap::GetSymbolFileAsSymbolFileDWARF (SymbolFile *sym_file) +{ + if (sym_file && sym_file->GetPluginName() == SymbolFileDWARF::GetPluginNameStatic()) + return (SymbolFileDWARF *)sym_file; + return NULL; +} + +SymbolFileDWARF * SymbolFileDWARFDebugMap::GetSymbolFileByCompUnitInfo (CompileUnitInfo *comp_unit_info) { Module *oso_module = GetModuleByCompUnitInfo (comp_unit_info); @@ -545,7 +572,7 @@ SymbolFileDWARFDebugMap::GetSymbolFileByCompUnitInfo (CompileUnitInfo *comp_unit { SymbolVendor *sym_vendor = oso_module->GetSymbolVendor(); if (sym_vendor) - return (SymbolFileDWARF *)sym_vendor->GetSymbolFile(); + return GetSymbolFileAsSymbolFileDWARF (sym_vendor->GetSymbolFile()); } return NULL; } @@ -1219,15 +1246,9 @@ SymbolFileDWARFDebugMap::FindNamespace (const lldb_private::SymbolContext& sc, //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString SymbolFileDWARFDebugMap::GetPluginName() { - return "SymbolFileDWARFDebugMap"; -} - -const char * -SymbolFileDWARFDebugMap::GetShortPluginName() -{ return GetPluginNameStatic(); } @@ -1454,7 +1475,7 @@ SymbolFileDWARFDebugMap::LinkOSOAddress (Address &addr) if (addr_module == exe_module) return true; // Address is already in terms of the main executable module - CompileUnitInfo *cu_info = GetCompileUnitInfo ((SymbolFileDWARF *)addr_module->GetSymbolVendor()->GetSymbolFile()); + CompileUnitInfo *cu_info = GetCompileUnitInfo (GetSymbolFileAsSymbolFileDWARF(addr_module->GetSymbolVendor()->GetSymbolFile())); if (cu_info) { const lldb::addr_t oso_file_addr = addr.GetFileAddress(); diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h index aa21778222e..07f8e415c78 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h @@ -40,7 +40,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -112,12 +112,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); @@ -133,11 +130,9 @@ protected: struct OSOInfo { lldb::ModuleSP module_sp; - bool symbol_file_supported; OSOInfo() : - module_sp (), - symbol_file_supported (true) + module_sp () { } }; @@ -153,6 +148,7 @@ protected: { lldb_private::FileSpec so_file; lldb_private::ConstString oso_path; + lldb_private::TimeValue oso_mod_time; OSOInfoSP oso_sp; lldb::CompUnitSP compile_unit_sp; uint32_t first_symbol_index; @@ -166,6 +162,7 @@ protected: CompileUnitInfo() : so_file (), oso_path (), + oso_mod_time (), oso_sp (), compile_unit_sp (), first_symbol_index (UINT32_MAX), @@ -192,6 +189,10 @@ protected: { return (uint32_t)((uid >> 32ull) - 1ull); } + + static SymbolFileDWARF * + GetSymbolFileAsSymbolFileDWARF (SymbolFile *sym_file); + bool GetFileSpecForSO (uint32_t oso_idx, lldb_private::FileSpec &file_spec); diff --git a/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp b/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp index 87e40daec6f..46460fe79d5 100644 --- a/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp +++ b/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp @@ -40,10 +40,11 @@ SymbolFileSymtab::Terminate() } -const char * +lldb_private::ConstString SymbolFileSymtab::GetPluginNameStatic() { - return "symbol-file.symtab"; + static ConstString g_name("symtab"); + return g_name; } const char * @@ -387,15 +388,9 @@ SymbolFileSymtab::FindTypes (const lldb_private::SymbolContext& sc, //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +lldb_private::ConstString SymbolFileSymtab::GetPluginName() { - return "SymbolFileSymtab"; -} - -const char * -SymbolFileSymtab::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h b/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h index 3c90b112d80..ede3447ee99 100644 --- a/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h +++ b/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h @@ -26,7 +26,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -113,12 +113,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp b/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp index 56c04ba17b6..a598cf7d889 100644 --- a/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp +++ b/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp @@ -141,10 +141,11 @@ SymbolVendorMacOSX::Terminate() } -const char * +lldb_private::ConstString SymbolVendorMacOSX::GetPluginNameStatic() { - return "symbol-vendor.macosx"; + static ConstString g_name("macosx"); + return g_name; } const char * @@ -332,15 +333,9 @@ SymbolVendorMacOSX::CreateInstance (const lldb::ModuleSP &module_sp, lldb_privat //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ -const char * +ConstString SymbolVendorMacOSX::GetPluginName() { - return "SymbolVendorMacOSX"; -} - -const char * -SymbolVendorMacOSX::GetShortPluginName() -{ return GetPluginNameStatic(); } diff --git a/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.h b/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.h index 2c16148ace8..31a842ade86 100644 --- a/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.h +++ b/lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.h @@ -25,7 +25,7 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * @@ -45,12 +45,9 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp index d2301b617aa..b20f732133b 100644 --- a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp +++ b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp @@ -309,20 +309,12 @@ UnwindAssemblyInstEmulation::CreateInstance (const ArchSpec &arch) //------------------------------------------------------------------ // PluginInterface protocol in UnwindAssemblyParser_x86 //------------------------------------------------------------------ - -const char * +ConstString UnwindAssemblyInstEmulation::GetPluginName() { - return "UnwindAssemblyInstEmulation"; -} - -const char * -UnwindAssemblyInstEmulation::GetShortPluginName() -{ - return "unwindassembly.inst-emulation"; + return GetPluginNameStatic(); } - uint32_t UnwindAssemblyInstEmulation::GetPluginVersion() { @@ -344,10 +336,11 @@ UnwindAssemblyInstEmulation::Terminate() } -const char * +ConstString UnwindAssemblyInstEmulation::GetPluginNameStatic() { - return "UnwindAssemblyInstEmulation"; + static ConstString g_name("inst-emulation"); + return g_name; } const char * diff --git a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h index 653c75a5f0f..6a02f0a5510 100644 --- a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h +++ b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h @@ -53,18 +53,15 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * GetPluginDescriptionStatic(); - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); diff --git a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp index 7a18373e30f..d491683f687 100644 --- a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp +++ b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp @@ -931,16 +931,10 @@ UnwindAssembly_x86::CreateInstance (const ArchSpec &arch) // PluginInterface protocol in UnwindAssemblyParser_x86 //------------------------------------------------------------------ -const char * +ConstString UnwindAssembly_x86::GetPluginName() { - return "UnwindAssembly_x86"; -} - -const char * -UnwindAssembly_x86::GetShortPluginName() -{ - return "unwindassembly.x86"; + return GetPluginNameStatic(); } @@ -965,10 +959,11 @@ UnwindAssembly_x86::Terminate() } -const char * +lldb_private::ConstString UnwindAssembly_x86::GetPluginNameStatic() { - return "UnwindAssembly_x86"; + static ConstString g_name("x86"); + return g_name; } const char * diff --git a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h index 2619f6558dc..eebaa7b6c80 100644 --- a/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h +++ b/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h @@ -50,18 +50,15 @@ public: static void Terminate(); - static const char * + static lldb_private::ConstString GetPluginNameStatic(); static const char * GetPluginDescriptionStatic(); - virtual const char * + virtual lldb_private::ConstString GetPluginName(); - virtual const char * - GetShortPluginName(); - virtual uint32_t GetPluginVersion(); |

