<rdar://problem/13854277> <rdar://problem/13594769>

Authored by clayborg on May 10 2013, 2:47 PM.


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:


virtual const char * GetPluginName() = 0;


virtual ConstString GetPluginName() = 0;


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