summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp18
-rw-r--r--lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h3
2 files changed, 7 insertions, 14 deletions
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
index 445518d9e64..8793cfac93e 100644
--- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
+++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
@@ -74,8 +74,9 @@ ObjectFileELF::CreateInstance(Module *module,
{
std::auto_ptr<ObjectFileELF> objfile_ap(
new ObjectFileELF(module, data_sp, file, offset, length));
- ArchSpec spec = objfile_ap->GetArchitecture();
- if (spec.IsValid() && objfile_ap->SetModulesArchitecture(spec))
+ ArchSpec spec;
+ if (objfile_ap->GetArchitecture(spec) &&
+ objfile_ap->SetModulesArchitecture(spec))
return objfile_ap.release();
}
}
@@ -83,14 +84,6 @@ ObjectFileELF::CreateInstance(Module *module,
return NULL;
}
-ArchSpec
-ObjectFileELF::GetArchitecture()
-{
- if (!ParseHeader())
- return ArchSpec();
-
- return ArchSpec(eArchTypeELF, m_header.e_machine, m_header.e_flags);
-}
//------------------------------------------------------------------
// PluginInterface protocol
@@ -1046,7 +1039,10 @@ ObjectFileELF::DumpDependentModules(lldb_private::Stream *s)
bool
ObjectFileELF::GetArchitecture (ArchSpec &arch)
{
- arch.SetArchitecture (lldb::eArchTypeELF, m_header.e_machine, m_header.e_flags);
+ if (!ParseHeader())
+ return false;
+
+ arch.SetArchitecture (lldb::eArchTypeELF, m_header.e_machine, LLDB_INVALID_CPUTYPE);
arch.GetTriple().setOSName (Host::GetOSString().GetCString());
arch.GetTriple().setVendorName(Host::GetVendorString().GetCString());
return true;
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
index ad97165bb83..5de0a8aa83a 100644
--- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
+++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
@@ -116,9 +116,6 @@ public:
virtual lldb_private::Address
GetImageInfoAddress();
- lldb_private::ArchSpec
- GetArchitecture();
-
private:
ObjectFileELF(lldb_private::Module* module,
lldb::DataBufferSP& dataSP,
OpenPOWER on IntegriCloud