summaryrefslogtreecommitdiffstats
path: root/lldb/source/Utility/ArchSpec.cpp
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2018-01-05 02:50:24 +0000
committerDavide Italiano <davide@freebsd.org>2018-01-05 02:50:24 +0000
commitc910aa67b3f44cef292f6e4c48cf1eede2e7a82b (patch)
tree9d0e46e599f624b15c1041f427ace15a7365f939 /lldb/source/Utility/ArchSpec.cpp
parent8587dfd94b797dee7892a9a846c2926759444783 (diff)
downloadbcm5719-llvm-c910aa67b3f44cef292f6e4c48cf1eede2e7a82b.tar.gz
bcm5719-llvm-c910aa67b3f44cef292f6e4c48cf1eede2e7a82b.zip
[ArchSpec] Don't consider Unknown MachO64 as invalid.
Even without a proper arch we can access line tables, etc.. <rdar://problem/35778442> llvm-svn: 321856
Diffstat (limited to 'lldb/source/Utility/ArchSpec.cpp')
-rw-r--r--lldb/source/Utility/ArchSpec.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/lldb/source/Utility/ArchSpec.cpp b/lldb/source/Utility/ArchSpec.cpp
index a10fe78260b..ed236f5f641 100644
--- a/lldb/source/Utility/ArchSpec.cpp
+++ b/lldb/source/Utility/ArchSpec.cpp
@@ -890,7 +890,12 @@ void ArchSpec::MergeFrom(const ArchSpec &other) {
GetTriple().setOS(other.GetTriple().getOS());
if (GetTriple().getArch() == llvm::Triple::UnknownArch) {
GetTriple().setArch(other.GetTriple().getArch());
- UpdateCore();
+
+ // MachO unknown64 isn't really invalid as the debugger can
+ // still obtain information from the binary, e.g. line tables.
+ // As such, we don't update the core here.
+ if (other.GetCore() != eCore_uknownMach64)
+ UpdateCore();
}
if (GetTriple().getEnvironment() == llvm::Triple::UnknownEnvironment &&
!TripleVendorWasSpecified()) {
OpenPOWER on IntegriCloud