summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/Module.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2013-05-10 21:47:16 +0000
committerGreg Clayton <gclayton@apple.com>2013-05-10 21:47:16 +0000
commit57abc5d6a6f393f488903c5a35e5a898fc201d3a (patch)
tree25cef51feff2409f74f0bdb1bd9938c20d138ba5 /lldb/source/Core/Module.cpp
parentbf0bd1f4ab2b9b4826d58407962260256d4b3709 (diff)
downloadbcm5719-llvm-57abc5d6a6f393f488903c5a35e5a898fc201d3a.tar.gz
bcm5719-llvm-57abc5d6a6f393f488903c5a35e5a898fc201d3a.zip
<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/Core/Module.cpp')
-rw-r--r--lldb/source/Core/Module.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp
index 7f403472cda..b5874daeb80 100644
--- a/lldb/source/Core/Module.cpp
+++ b/lldb/source/Core/Module.cpp
@@ -136,6 +136,7 @@ Module::Module (const ModuleSpec &module_spec) :
m_symfile_spec (module_spec.GetSymbolFileSpec()),
m_object_name (module_spec.GetObjectName()),
m_object_offset (module_spec.GetObjectOffset()),
+ m_object_mod_time (module_spec.GetObjectModificationTime()),
m_objfile_sp (),
m_symfile_ap (),
m_ast (),
@@ -168,7 +169,8 @@ Module::Module (const ModuleSpec &module_spec) :
Module::Module(const FileSpec& file_spec,
const ArchSpec& arch,
const ConstString *object_name,
- off_t object_offset) :
+ off_t object_offset,
+ const TimeValue *object_mod_time_ptr) :
m_mutex (Mutex::eMutexTypeRecursive),
m_mod_time (file_spec.GetModificationTime()),
m_arch (arch),
@@ -178,6 +180,7 @@ Module::Module(const FileSpec& file_spec,
m_symfile_spec (),
m_object_name (),
m_object_offset (object_offset),
+ m_object_mod_time (),
m_objfile_sp (),
m_symfile_ap (),
m_ast (),
@@ -198,6 +201,10 @@ Module::Module(const FileSpec& file_spec,
if (object_name)
m_object_name = *object_name;
+
+ if (object_mod_time_ptr)
+ m_object_mod_time = *object_mod_time_ptr;
+
Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_OBJECT|LIBLLDB_LOG_MODULES));
if (log)
log->Printf ("%p Module::Module((%s) '%s%s%s%s')",
@@ -1186,12 +1193,6 @@ Module::FindSymbolsMatchingRegExAndType (const RegularExpression &regex, SymbolT
return sc_list.GetSize() - initial_size;
}
-const TimeValue &
-Module::GetModificationTime () const
-{
- return m_mod_time;
-}
-
void
Module::SetSymbolFileFileSpec (const FileSpec &file)
{
OpenPOWER on IntegriCloud