diff options
author | Greg Clayton <gclayton@apple.com> | 2013-05-10 21:47:16 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2013-05-10 21:47:16 +0000 |
commit | 57abc5d6a6f393f488903c5a35e5a898fc201d3a (patch) | |
tree | 25cef51feff2409f74f0bdb1bd9938c20d138ba5 /lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp | |
parent | bf0bd1f4ab2b9b4826d58407962260256d4b3709 (diff) | |
download | llvm-57abc5d6a6f393f488903c5a35e5a898fc201d3a.zip llvm-57abc5d6a6f393f488903c5a35e5a898fc201d3a.tar.gz llvm-57abc5d6a6f393f488903c5a35e5a898fc201d3a.tar.bz2 |
<rdar://problem/13854277>
<rdar://problem/13594769>
Main changes in this patch include:
- cleanup plug-in interface and use ConstStrings for plug-in names
- Modfiied the BSD Archive plug-in to be able to pick out the correct .o file when .a files contain multiple .o files with the same name by using the timestamp
- Modified SymbolFileDWARFDebugMap to properly verify the timestamp on .o files it loads to ensure we don't load updated .o files and cause problems when debugging
The plug-in interface changes:
Modified the lldb_private::PluginInterface class that all plug-ins inherit from:
Changed:
virtual const char * GetPluginName() = 0;
To:
virtual ConstString GetPluginName() = 0;
Removed:
virtual const char * GetShortPluginName() = 0;
- Fixed up all plug-in to adhere to the new interface and to return lldb_private::ConstString values for the plug-in names.
- Fixed all plug-ins to return simple names with no prefixes. Some plug-ins had prefixes and most ones didn't, so now they all don't have prefixed names, just simple names like "linux", "gdb-remote", etc.
llvm-svn: 181631
Diffstat (limited to 'lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp')
-rw-r--r-- | lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp index b364704..6999b2a 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(); } |