diff options
Diffstat (limited to 'lldb/source/Core')
-rw-r--r-- | lldb/source/Core/ArchSpec.cpp | 8 | ||||
-rw-r--r-- | lldb/source/Core/ModuleList.cpp | 21 |
2 files changed, 19 insertions, 10 deletions
diff --git a/lldb/source/Core/ArchSpec.cpp b/lldb/source/Core/ArchSpec.cpp index 39dd25b41fa..e38501c81ed 100644 --- a/lldb/source/Core/ArchSpec.cpp +++ b/lldb/source/Core/ArchSpec.cpp @@ -1111,6 +1111,10 @@ cores_match (const ArchSpec::Core core1, const ArchSpec::Core core2, bool try_in return true; break; + // v. https://en.wikipedia.org/wiki/ARM_Cortex-M#Silicon_customization + // Cortex-M0 - ARMv6-M - armv6m + // Cortex-M3 - ARMv7-M - armv7m + // Cortex-M4 - ARMv7E-M - armv7em case ArchSpec::eCore_arm_armv7em: if (!enforce_exact_match) { @@ -1126,6 +1130,10 @@ cores_match (const ArchSpec::Core core1, const ArchSpec::Core core2, bool try_in } break; + // v. https://en.wikipedia.org/wiki/ARM_Cortex-M#Silicon_customization + // Cortex-M0 - ARMv6-M - armv6m + // Cortex-M3 - ARMv7-M - armv7m + // Cortex-M4 - ARMv7E-M - armv7em case ArchSpec::eCore_arm_armv7m: if (!enforce_exact_match) { diff --git a/lldb/source/Core/ModuleList.cpp b/lldb/source/Core/ModuleList.cpp index 9f92913aa52..0116bf67a75 100644 --- a/lldb/source/Core/ModuleList.cpp +++ b/lldb/source/Core/ModuleList.cpp @@ -1045,19 +1045,19 @@ ModuleList::GetSharedModule // Fixup the incoming path in case the path points to a valid file, yet // the arch or UUID (if one was passed in) don't match. - FileSpec file_spec = Symbols::LocateExecutableObjectFile (module_spec); + ModuleSpec located_binary_modulespec = Symbols::LocateExecutableObjectFile (module_spec); // Don't look for the file if it appears to be the same one we already // checked for above... - if (file_spec != module_file_spec) + if (located_binary_modulespec.GetFileSpec() != module_file_spec) { - if (!file_spec.Exists()) + if (!located_binary_modulespec.GetFileSpec().Exists()) { - file_spec.GetPath(path, sizeof(path)); + located_binary_modulespec.GetFileSpec().GetPath(path, sizeof(path)); if (path[0] == '\0') module_file_spec.GetPath(path, sizeof(path)); // How can this check ever be true? This branch it is false, and we haven't modified file_spec. - if (file_spec.Exists()) + if (located_binary_modulespec.GetFileSpec().Exists()) { std::string uuid_str; if (uuid_ptr && uuid_ptr->IsValid()) @@ -1085,8 +1085,9 @@ ModuleList::GetSharedModule // function is actively working on it by doing an extra lock on the // global mutex list. ModuleSpec platform_module_spec(module_spec); - platform_module_spec.GetFileSpec() = file_spec; - platform_module_spec.GetPlatformFileSpec() = file_spec; + platform_module_spec.GetFileSpec() = located_binary_modulespec.GetFileSpec(); + platform_module_spec.GetPlatformFileSpec() = located_binary_modulespec.GetFileSpec(); + platform_module_spec.GetSymbolFileSpec() = located_binary_modulespec.GetSymbolFileSpec(); ModuleList matching_module_list; if (shared_module_list.FindModules (platform_module_spec, matching_module_list) > 0) { @@ -1096,7 +1097,7 @@ ModuleList::GetSharedModule // then we should make sure the modification time hasn't changed! if (platform_module_spec.GetUUIDPtr() == NULL) { - TimeValue file_spec_mod_time(file_spec.GetModificationTime()); + TimeValue file_spec_mod_time(located_binary_modulespec.GetFileSpec().GetModificationTime()); if (file_spec_mod_time.IsValid()) { if (file_spec_mod_time != module_sp->GetModificationTime()) @@ -1125,9 +1126,9 @@ ModuleList::GetSharedModule } else { - file_spec.GetPath(path, sizeof(path)); + located_binary_modulespec.GetFileSpec().GetPath(path, sizeof(path)); - if (file_spec) + if (located_binary_modulespec.GetFileSpec()) { if (arch.IsValid()) error.SetErrorStringWithFormat("unable to open %s architecture in '%s'", arch.GetArchitectureName(), path); |