summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/ArchSpec.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2014-07-12 00:11:34 +0000
committerGreg Clayton <gclayton@apple.com>2014-07-12 00:11:34 +0000
commit44362e06d1a963ac6ed55b01f3c13bc4e1e55a45 (patch)
tree8fab139ebcfbbcb00775a8ca11b9ff1f4713ea0f /lldb/source/Core/ArchSpec.cpp
parentfb9519838a45547c9acc2434afc9139438e7c700 (diff)
downloadbcm5719-llvm-44362e06d1a963ac6ed55b01f3c13bc4e1e55a45.tar.gz
bcm5719-llvm-44362e06d1a963ac6ed55b01f3c13bc4e1e55a45.zip
Allow generic ARM cores to match any more specific ARM architecture.
<rdar://problem/15932248> llvm-svn: 212863
Diffstat (limited to 'lldb/source/Core/ArchSpec.cpp')
-rw-r--r--lldb/source/Core/ArchSpec.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/lldb/source/Core/ArchSpec.cpp b/lldb/source/Core/ArchSpec.cpp
index 97ae4971239..bfe8b62f5eb 100644
--- a/lldb/source/Core/ArchSpec.cpp
+++ b/lldb/source/Core/ArchSpec.cpp
@@ -905,6 +905,10 @@ cores_match (const ArchSpec::Core core1, const ArchSpec::Core core2, bool try_in
case ArchSpec::kCore_any:
return true;
+ case ArchSpec::eCore_arm_generic:
+ if (enforce_exact_match)
+ break;
+ // Fall through to case below
case ArchSpec::kCore_arm_any:
if (core2 >= ArchSpec::kCore_arm_first && core2 <= ArchSpec::kCore_arm_last)
return true;
@@ -932,6 +936,8 @@ cores_match (const ArchSpec::Core core1, const ArchSpec::Core core2, bool try_in
case ArchSpec::eCore_arm_armv6m:
if (!enforce_exact_match)
{
+ if (core2 == ArchSpec::eCore_arm_generic)
+ return true;
try_inverse = false;
if (core2 == ArchSpec::eCore_arm_armv7)
return true;
@@ -949,9 +955,11 @@ cores_match (const ArchSpec::Core core1, const ArchSpec::Core core2, bool try_in
case ArchSpec::eCore_arm_armv7s:
if (!enforce_exact_match)
{
- try_inverse = false;
+ if (core2 == ArchSpec::eCore_arm_generic)
+ return true;
if (core2 == ArchSpec::eCore_arm_armv7)
return true;
+ try_inverse = false;
}
break;
OpenPOWER on IntegriCloud