diff options
Diffstat (limited to 'source/Core/Module.cpp')
| -rw-r--r-- | source/Core/Module.cpp | 25 | 
1 files changed, 18 insertions, 7 deletions
diff --git a/source/Core/Module.cpp b/source/Core/Module.cpp index 900eea2e0419..891bd87a20d4 100644 --- a/source/Core/Module.cpp +++ b/source/Core/Module.cpp @@ -152,7 +152,6 @@ Module::Module (const ModuleSpec &module_spec) :      m_did_load_symbol_vendor (false),      m_did_parse_uuid (false),      m_did_init_ast (false), -    m_is_dynamic_loader_module (false),      m_file_has_changed (false),      m_first_file_changed_log (false)  { @@ -257,7 +256,6 @@ Module::Module(const FileSpec& file_spec,      m_did_load_symbol_vendor (false),      m_did_parse_uuid (false),      m_did_init_ast (false), -    m_is_dynamic_loader_module (false),      m_file_has_changed (false),      m_first_file_changed_log (false)  { @@ -304,7 +302,6 @@ Module::Module () :      m_did_load_symbol_vendor (false),      m_did_parse_uuid (false),      m_did_init_ast (false), -    m_is_dynamic_loader_module (false),      m_file_has_changed (false),      m_first_file_changed_log (false)  { @@ -1304,10 +1301,14 @@ Module::GetObjectFile()                                                     data_offset);              if (m_objfile_sp)              { -                // Once we get the object file, update our module with the object file's  +                // Once we get the object file, update our module with the object file's                  // architecture since it might differ in vendor/os if some parts were -                // unknown. -                m_objfile_sp->GetArchitecture (m_arch); +                // unknown.  But since the matching arch might already be more specific +                // than the generic COFF architecture, only merge in those values that +                // overwrite unspecified unknown values. +                ArchSpec new_arch; +                m_objfile_sp->GetArchitecture(new_arch); +                m_arch.MergeFrom(new_arch);              }              else              { @@ -1732,7 +1733,7 @@ Module::PrepareForFunctionNameLookup (const ConstString &name,                  if (CPPLanguageRuntime::ExtractContextAndIdentifier (name_cstr, context, basename))                      lookup_name_type_mask |= (eFunctionNameTypeMethod | eFunctionNameTypeBase);                  else -                    lookup_name_type_mask = eFunctionNameTypeFull; +                    lookup_name_type_mask |= eFunctionNameTypeFull;              }              else              { @@ -1821,3 +1822,13 @@ Module::CreateJITModule (const lldb::ObjectFileJITDelegateSP &delegate_sp)      return ModuleSP();  } +bool +Module::GetIsDynamicLinkEditor() +{ +    ObjectFile * obj_file = GetObjectFile (); + +    if (obj_file) +        return obj_file->GetIsDynamicLinkEditor(); + +    return false; +}  | 
