summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins')
-rw-r--r--lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp28
-rw-r--r--lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h8
-rw-r--r--lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp26
-rw-r--r--lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h8
-rw-r--r--lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp26
-rw-r--r--lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h8
-rw-r--r--lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp21
-rw-r--r--lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h10
-rw-r--r--lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp22
-rw-r--r--lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.h7
-rw-r--r--lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp13
-rw-r--r--lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h7
-rw-r--r--lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp15
-rw-r--r--lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h7
-rw-r--r--lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp13
-rw-r--r--lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h7
-rw-r--r--lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp5
-rw-r--r--lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h11
-rw-r--r--lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp24
-rw-r--r--lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h8
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp26
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h8
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp26
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h8
-rw-r--r--lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp48
-rw-r--r--lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h10
-rw-r--r--lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp13
-rw-r--r--lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h7
-rw-r--r--lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp13
-rw-r--r--lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h7
-rw-r--r--lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp13
-rw-r--r--lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h7
-rw-r--r--lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp13
-rw-r--r--lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h7
-rw-r--r--lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp13
-rw-r--r--lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h7
-rw-r--r--lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp28
-rw-r--r--lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h19
-rw-r--r--lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp29
-rw-r--r--lldb/source/Plugins/Platform/Linux/PlatformLinux.h22
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp6
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp13
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.h13
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp23
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h17
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp17
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.h13
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.cpp17
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h13
-rw-r--r--lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp9
-rw-r--r--lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h14
-rw-r--r--lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp15
-rw-r--r--lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h7
-rw-r--r--lldb/source/Plugins/Process/Linux/ProcessLinux.cpp15
-rw-r--r--lldb/source/Plugins/Process/Linux/ProcessLinux.h7
-rw-r--r--lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp13
-rw-r--r--lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h7
-rw-r--r--lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPLog.cpp3
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp15
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h7
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp2
-rw-r--r--lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp13
-rw-r--r--lldb/source/Plugins/Process/mach-core/ProcessMachCore.h7
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp12
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h7
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp13
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h7
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp57
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h17
-rw-r--r--lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp13
-rw-r--r--lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h7
-rw-r--r--lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp13
-rw-r--r--lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.h7
-rw-r--r--lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp17
-rw-r--r--lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h7
-rw-r--r--lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp15
-rw-r--r--lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h7
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();
OpenPOWER on IntegriCloud