[Lldb-commits] [lldb] r253763 - Add code to PlatformDarwin and HostInfoMacOSX so they return the
Jason Molenda via lldb-commits
lldb-commits at lists.llvm.org
Fri Nov 20 20:00:43 PST 2015
Author: jmolenda
Date: Fri Nov 20 22:00:43 2015
New Revision: 253763
URL: http://llvm.org/viewvc/llvm-project?rev=253763&view=rev
Log:
Add code to PlatformDarwin and HostInfoMacOSX so they return the
correct OS type when running on an apple tv or apple watch.
Also, in TargetList::CreateTargetInternal, check that a platform
is returned by GetPlatformForArchitecture fallback instead of
adding it to the vector of platforms unconditionally; we can end up
crashing when we call a member function on it later.
<rdar://problem/23601982>, <rdar://problem/21292886>
Modified:
lldb/trunk/source/Host/macosx/HostInfoMacOSX.mm
lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
lldb/trunk/source/Target/TargetList.cpp
Modified: lldb/trunk/source/Host/macosx/HostInfoMacOSX.mm
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/macosx/HostInfoMacOSX.mm?rev=253763&r1=253762&r2=253763&view=diff
==============================================================================
--- lldb/trunk/source/Host/macosx/HostInfoMacOSX.mm (original)
+++ lldb/trunk/source/Host/macosx/HostInfoMacOSX.mm Fri Nov 20 22:00:43 2015
@@ -45,6 +45,8 @@
#define CPU_TYPE_ARM64 (CPU_TYPE_ARM|CPU_ARCH_ABI64)
#endif
+#include <TargetConditionals.h> // for TARGET_OS_TV, TARGET_OS_WATCH
+
using namespace lldb_private;
bool
@@ -340,8 +342,14 @@ HostInfoMacOSX::ComputeHostArchitectureS
if (cputype == CPU_TYPE_ARM || cputype == CPU_TYPE_ARM64)
{
+ // When running on a watch or tv, report the host os correctly
+#if defined (TARGET_OS_TV) && TARGET_OS_TV == 1
+ arch_32.GetTriple().setOS(llvm::Triple::TvOS);
+ arch_64.GetTriple().setOS(llvm::Triple::TvOS);
+#else
arch_32.GetTriple().setOS(llvm::Triple::IOS);
arch_64.GetTriple().setOS(llvm::Triple::IOS);
+#endif
}
else
{
@@ -353,6 +361,11 @@ HostInfoMacOSX::ComputeHostArchitectureS
{
// We have a 32 bit kernel on a 32 bit system
arch_32.SetArchitecture(eArchTypeMachO, cputype, cpusubtype);
+#if defined (TARGET_OS_WATCH) && TARGET_OS_WATCH == 1
+ arch_32.GetTriple().setOS(llvm::Triple::WatchOS);
+#else
+ arch_32.GetTriple().setOS(llvm::Triple::IOS);
+#endif
arch_64.Clear();
}
}
Modified: lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp?rev=253763&r1=253762&r2=253763&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp (original)
+++ lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp Fri Nov 20 22:00:43 2015
@@ -41,6 +41,10 @@
#include "lldb/Target/Target.h"
#include "llvm/ADT/STLExtras.h"
+#if defined (__APPLE__)
+#include <TargetConditionals.h> // for TARGET_OS_TV, TARGET_OS_WATCH
+#endif
+
using namespace lldb;
using namespace lldb_private;
@@ -761,35 +765,44 @@ PlatformDarwin::ARMGetSupportedArchitect
{
ArchSpec system_arch (GetSystemArchitecture());
+ // When lldb is running on a watch or tv, set the arch OS name appropriately.
+#if defined (TARGET_OS_TV) && TARGET_OS_TV == 1
+#define OSNAME "tvos"
+#elif defined (TARGET_OS_WATCH) && TARGET_OS_WATCH == 1
+#define OSNAME "watchos"
+#else
+#define OSNAME "ios"
+#endif
+
const ArchSpec::Core system_core = system_arch.GetCore();
switch (system_core)
{
default:
switch (idx)
{
- case 0: arch.SetTriple ("arm64-apple-ios"); return true;
- case 1: arch.SetTriple ("armv7-apple-ios"); return true;
- case 2: arch.SetTriple ("armv7f-apple-ios"); return true;
- case 3: arch.SetTriple ("armv7k-apple-ios"); return true;
- case 4: arch.SetTriple ("armv7s-apple-ios"); return true;
- case 5: arch.SetTriple ("armv7m-apple-ios"); return true;
- case 6: arch.SetTriple ("armv7em-apple-ios"); return true;
- case 7: arch.SetTriple ("armv6m-apple-ios"); return true;
- case 8: arch.SetTriple ("armv6-apple-ios"); return true;
- case 9: arch.SetTriple ("armv5-apple-ios"); return true;
- case 10: arch.SetTriple ("armv4-apple-ios"); return true;
- case 11: arch.SetTriple ("arm-apple-ios"); return true;
- case 12: arch.SetTriple ("thumbv7-apple-ios"); return true;
- case 13: arch.SetTriple ("thumbv7f-apple-ios"); return true;
- case 14: arch.SetTriple ("thumbv7k-apple-ios"); return true;
- case 15: arch.SetTriple ("thumbv7s-apple-ios"); return true;
- case 16: arch.SetTriple ("thumbv7m-apple-ios"); return true;
- case 17: arch.SetTriple ("thumbv7em-apple-ios"); return true;
- case 18: arch.SetTriple ("thumbv6m-apple-ios"); return true;
- case 19: arch.SetTriple ("thumbv6-apple-ios"); return true;
- case 20: arch.SetTriple ("thumbv5-apple-ios"); return true;
- case 21: arch.SetTriple ("thumbv4t-apple-ios"); return true;
- case 22: arch.SetTriple ("thumb-apple-ios"); return true;
+ case 0: arch.SetTriple ("arm64-apple-" OSNAME); return true;
+ case 1: arch.SetTriple ("armv7-apple-" OSNAME); return true;
+ case 2: arch.SetTriple ("armv7f-apple-" OSNAME); return true;
+ case 3: arch.SetTriple ("armv7k-apple-" OSNAME); return true;
+ case 4: arch.SetTriple ("armv7s-apple-" OSNAME); return true;
+ case 5: arch.SetTriple ("armv7m-apple-" OSNAME); return true;
+ case 6: arch.SetTriple ("armv7em-apple-" OSNAME); return true;
+ case 7: arch.SetTriple ("armv6m-apple-" OSNAME); return true;
+ case 8: arch.SetTriple ("armv6-apple-" OSNAME); return true;
+ case 9: arch.SetTriple ("armv5-apple-" OSNAME); return true;
+ case 10: arch.SetTriple ("armv4-apple-" OSNAME); return true;
+ case 11: arch.SetTriple ("arm-apple-" OSNAME); return true;
+ case 12: arch.SetTriple ("thumbv7-apple-" OSNAME); return true;
+ case 13: arch.SetTriple ("thumbv7f-apple-" OSNAME); return true;
+ case 14: arch.SetTriple ("thumbv7k-apple-" OSNAME); return true;
+ case 15: arch.SetTriple ("thumbv7s-apple-" OSNAME); return true;
+ case 16: arch.SetTriple ("thumbv7m-apple-" OSNAME); return true;
+ case 17: arch.SetTriple ("thumbv7em-apple-" OSNAME); return true;
+ case 18: arch.SetTriple ("thumbv6m-apple-" OSNAME); return true;
+ case 19: arch.SetTriple ("thumbv6-apple-" OSNAME); return true;
+ case 20: arch.SetTriple ("thumbv5-apple-" OSNAME); return true;
+ case 21: arch.SetTriple ("thumbv4t-apple-" OSNAME); return true;
+ case 22: arch.SetTriple ("thumb-apple-" OSNAME); return true;
default: break;
}
break;
@@ -797,28 +810,28 @@ PlatformDarwin::ARMGetSupportedArchitect
case ArchSpec::eCore_arm_arm64:
switch (idx)
{
- case 0: arch.SetTriple ("arm64-apple-ios"); return true;
- case 1: arch.SetTriple ("armv7s-apple-ios"); return true;
- case 2: arch.SetTriple ("armv7f-apple-ios"); return true;
- case 3: arch.SetTriple ("armv7m-apple-ios"); return true;
- case 4: arch.SetTriple ("armv7em-apple-ios"); return true;
- case 5: arch.SetTriple ("armv7-apple-ios"); return true;
- case 6: arch.SetTriple ("armv6m-apple-ios"); return true;
- case 7: arch.SetTriple ("armv6-apple-ios"); return true;
- case 8: arch.SetTriple ("armv5-apple-ios"); return true;
- case 9: arch.SetTriple ("armv4-apple-ios"); return true;
- case 10: arch.SetTriple ("arm-apple-ios"); return true;
- case 11: arch.SetTriple ("thumbv7-apple-ios"); return true;
- case 12: arch.SetTriple ("thumbv7f-apple-ios"); return true;
- case 13: arch.SetTriple ("thumbv7k-apple-ios"); return true;
- case 14: arch.SetTriple ("thumbv7s-apple-ios"); return true;
- case 15: arch.SetTriple ("thumbv7m-apple-ios"); return true;
- case 16: arch.SetTriple ("thumbv7em-apple-ios"); return true;
- case 17: arch.SetTriple ("thumbv6m-apple-ios"); return true;
- case 18: arch.SetTriple ("thumbv6-apple-ios"); return true;
- case 19: arch.SetTriple ("thumbv5-apple-ios"); return true;
- case 20: arch.SetTriple ("thumbv4t-apple-ios"); return true;
- case 21: arch.SetTriple ("thumb-apple-ios"); return true;
+ case 0: arch.SetTriple ("arm64-apple-" OSNAME); return true;
+ case 1: arch.SetTriple ("armv7s-apple-" OSNAME); return true;
+ case 2: arch.SetTriple ("armv7f-apple-" OSNAME); return true;
+ case 3: arch.SetTriple ("armv7m-apple-" OSNAME); return true;
+ case 4: arch.SetTriple ("armv7em-apple-" OSNAME); return true;
+ case 5: arch.SetTriple ("armv7-apple-" OSNAME); return true;
+ case 6: arch.SetTriple ("armv6m-apple-" OSNAME); return true;
+ case 7: arch.SetTriple ("armv6-apple-" OSNAME); return true;
+ case 8: arch.SetTriple ("armv5-apple-" OSNAME); return true;
+ case 9: arch.SetTriple ("armv4-apple-" OSNAME); return true;
+ case 10: arch.SetTriple ("arm-apple-" OSNAME); return true;
+ case 11: arch.SetTriple ("thumbv7-apple-" OSNAME); return true;
+ case 12: arch.SetTriple ("thumbv7f-apple-" OSNAME); return true;
+ case 13: arch.SetTriple ("thumbv7k-apple-" OSNAME); return true;
+ case 14: arch.SetTriple ("thumbv7s-apple-" OSNAME); return true;
+ case 15: arch.SetTriple ("thumbv7m-apple-" OSNAME); return true;
+ case 16: arch.SetTriple ("thumbv7em-apple-" OSNAME); return true;
+ case 17: arch.SetTriple ("thumbv6m-apple-" OSNAME); return true;
+ case 18: arch.SetTriple ("thumbv6-apple-" OSNAME); return true;
+ case 19: arch.SetTriple ("thumbv5-apple-" OSNAME); return true;
+ case 20: arch.SetTriple ("thumbv4t-apple-" OSNAME); return true;
+ case 21: arch.SetTriple ("thumb-apple-" OSNAME); return true;
default: break;
}
break;
@@ -826,20 +839,20 @@ PlatformDarwin::ARMGetSupportedArchitect
case ArchSpec::eCore_arm_armv7f:
switch (idx)
{
- case 0: arch.SetTriple ("armv7f-apple-ios"); return true;
- case 1: arch.SetTriple ("armv7-apple-ios"); return true;
- case 2: arch.SetTriple ("armv6m-apple-ios"); return true;
- case 3: arch.SetTriple ("armv6-apple-ios"); return true;
- case 4: arch.SetTriple ("armv5-apple-ios"); return true;
- case 5: arch.SetTriple ("armv4-apple-ios"); return true;
- case 6: arch.SetTriple ("arm-apple-ios"); return true;
- case 7: arch.SetTriple ("thumbv7f-apple-ios"); return true;
- case 8: arch.SetTriple ("thumbv7-apple-ios"); return true;
- case 9: arch.SetTriple ("thumbv6m-apple-ios"); return true;
- case 10: arch.SetTriple ("thumbv6-apple-ios"); return true;
- case 11: arch.SetTriple ("thumbv5-apple-ios"); return true;
- case 12: arch.SetTriple ("thumbv4t-apple-ios"); return true;
- case 13: arch.SetTriple ("thumb-apple-ios"); return true;
+ case 0: arch.SetTriple ("armv7f-apple-" OSNAME); return true;
+ case 1: arch.SetTriple ("armv7-apple-" OSNAME); return true;
+ case 2: arch.SetTriple ("armv6m-apple-" OSNAME); return true;
+ case 3: arch.SetTriple ("armv6-apple-" OSNAME); return true;
+ case 4: arch.SetTriple ("armv5-apple-" OSNAME); return true;
+ case 5: arch.SetTriple ("armv4-apple-" OSNAME); return true;
+ case 6: arch.SetTriple ("arm-apple-" OSNAME); return true;
+ case 7: arch.SetTriple ("thumbv7f-apple-" OSNAME); return true;
+ case 8: arch.SetTriple ("thumbv7-apple-" OSNAME); return true;
+ case 9: arch.SetTriple ("thumbv6m-apple-" OSNAME); return true;
+ case 10: arch.SetTriple ("thumbv6-apple-" OSNAME); return true;
+ case 11: arch.SetTriple ("thumbv5-apple-" OSNAME); return true;
+ case 12: arch.SetTriple ("thumbv4t-apple-" OSNAME); return true;
+ case 13: arch.SetTriple ("thumb-apple-" OSNAME); return true;
default: break;
}
break;
@@ -847,20 +860,20 @@ PlatformDarwin::ARMGetSupportedArchitect
case ArchSpec::eCore_arm_armv7k:
switch (idx)
{
- case 0: arch.SetTriple ("armv7k-apple-ios"); return true;
- case 1: arch.SetTriple ("armv7-apple-ios"); return true;
- case 2: arch.SetTriple ("armv6m-apple-ios"); return true;
- case 3: arch.SetTriple ("armv6-apple-ios"); return true;
- case 4: arch.SetTriple ("armv5-apple-ios"); return true;
- case 5: arch.SetTriple ("armv4-apple-ios"); return true;
- case 6: arch.SetTriple ("arm-apple-ios"); return true;
- case 7: arch.SetTriple ("thumbv7k-apple-ios"); return true;
- case 8: arch.SetTriple ("thumbv7-apple-ios"); return true;
- case 9: arch.SetTriple ("thumbv6m-apple-ios"); return true;
- case 10: arch.SetTriple ("thumbv6-apple-ios"); return true;
- case 11: arch.SetTriple ("thumbv5-apple-ios"); return true;
- case 12: arch.SetTriple ("thumbv4t-apple-ios"); return true;
- case 13: arch.SetTriple ("thumb-apple-ios"); return true;
+ case 0: arch.SetTriple ("armv7k-apple-" OSNAME); return true;
+ case 1: arch.SetTriple ("armv7-apple-" OSNAME); return true;
+ case 2: arch.SetTriple ("armv6m-apple-" OSNAME); return true;
+ case 3: arch.SetTriple ("armv6-apple-" OSNAME); return true;
+ case 4: arch.SetTriple ("armv5-apple-" OSNAME); return true;
+ case 5: arch.SetTriple ("armv4-apple-" OSNAME); return true;
+ case 6: arch.SetTriple ("arm-apple-" OSNAME); return true;
+ case 7: arch.SetTriple ("thumbv7k-apple-" OSNAME); return true;
+ case 8: arch.SetTriple ("thumbv7-apple-" OSNAME); return true;
+ case 9: arch.SetTriple ("thumbv6m-apple-" OSNAME); return true;
+ case 10: arch.SetTriple ("thumbv6-apple-" OSNAME); return true;
+ case 11: arch.SetTriple ("thumbv5-apple-" OSNAME); return true;
+ case 12: arch.SetTriple ("thumbv4t-apple-" OSNAME); return true;
+ case 13: arch.SetTriple ("thumb-apple-" OSNAME); return true;
default: break;
}
break;
@@ -868,20 +881,20 @@ PlatformDarwin::ARMGetSupportedArchitect
case ArchSpec::eCore_arm_armv7s:
switch (idx)
{
- case 0: arch.SetTriple ("armv7s-apple-ios"); return true;
- case 1: arch.SetTriple ("armv7-apple-ios"); return true;
- case 2: arch.SetTriple ("armv6m-apple-ios"); return true;
- case 3: arch.SetTriple ("armv6-apple-ios"); return true;
- case 4: arch.SetTriple ("armv5-apple-ios"); return true;
- case 5: arch.SetTriple ("armv4-apple-ios"); return true;
- case 6: arch.SetTriple ("arm-apple-ios"); return true;
- case 7: arch.SetTriple ("thumbv7s-apple-ios"); return true;
- case 8: arch.SetTriple ("thumbv7-apple-ios"); return true;
- case 9: arch.SetTriple ("thumbv6m-apple-ios"); return true;
- case 10: arch.SetTriple ("thumbv6-apple-ios"); return true;
- case 11: arch.SetTriple ("thumbv5-apple-ios"); return true;
- case 12: arch.SetTriple ("thumbv4t-apple-ios"); return true;
- case 13: arch.SetTriple ("thumb-apple-ios"); return true;
+ case 0: arch.SetTriple ("armv7s-apple-" OSNAME); return true;
+ case 1: arch.SetTriple ("armv7-apple-" OSNAME); return true;
+ case 2: arch.SetTriple ("armv6m-apple-" OSNAME); return true;
+ case 3: arch.SetTriple ("armv6-apple-" OSNAME); return true;
+ case 4: arch.SetTriple ("armv5-apple-" OSNAME); return true;
+ case 5: arch.SetTriple ("armv4-apple-" OSNAME); return true;
+ case 6: arch.SetTriple ("arm-apple-" OSNAME); return true;
+ case 7: arch.SetTriple ("thumbv7s-apple-" OSNAME); return true;
+ case 8: arch.SetTriple ("thumbv7-apple-" OSNAME); return true;
+ case 9: arch.SetTriple ("thumbv6m-apple-" OSNAME); return true;
+ case 10: arch.SetTriple ("thumbv6-apple-" OSNAME); return true;
+ case 11: arch.SetTriple ("thumbv5-apple-" OSNAME); return true;
+ case 12: arch.SetTriple ("thumbv4t-apple-" OSNAME); return true;
+ case 13: arch.SetTriple ("thumb-apple-" OSNAME); return true;
default: break;
}
break;
@@ -889,20 +902,20 @@ PlatformDarwin::ARMGetSupportedArchitect
case ArchSpec::eCore_arm_armv7m:
switch (idx)
{
- case 0: arch.SetTriple ("armv7m-apple-ios"); return true;
- case 1: arch.SetTriple ("armv7-apple-ios"); return true;
- case 2: arch.SetTriple ("armv6m-apple-ios"); return true;
- case 3: arch.SetTriple ("armv6-apple-ios"); return true;
- case 4: arch.SetTriple ("armv5-apple-ios"); return true;
- case 5: arch.SetTriple ("armv4-apple-ios"); return true;
- case 6: arch.SetTriple ("arm-apple-ios"); return true;
- case 7: arch.SetTriple ("thumbv7m-apple-ios"); return true;
- case 8: arch.SetTriple ("thumbv7-apple-ios"); return true;
- case 9: arch.SetTriple ("thumbv6m-apple-ios"); return true;
- case 10: arch.SetTriple ("thumbv6-apple-ios"); return true;
- case 11: arch.SetTriple ("thumbv5-apple-ios"); return true;
- case 12: arch.SetTriple ("thumbv4t-apple-ios"); return true;
- case 13: arch.SetTriple ("thumb-apple-ios"); return true;
+ case 0: arch.SetTriple ("armv7m-apple-" OSNAME); return true;
+ case 1: arch.SetTriple ("armv7-apple-" OSNAME); return true;
+ case 2: arch.SetTriple ("armv6m-apple-" OSNAME); return true;
+ case 3: arch.SetTriple ("armv6-apple-" OSNAME); return true;
+ case 4: arch.SetTriple ("armv5-apple-" OSNAME); return true;
+ case 5: arch.SetTriple ("armv4-apple-" OSNAME); return true;
+ case 6: arch.SetTriple ("arm-apple-" OSNAME); return true;
+ case 7: arch.SetTriple ("thumbv7m-apple-" OSNAME); return true;
+ case 8: arch.SetTriple ("thumbv7-apple-" OSNAME); return true;
+ case 9: arch.SetTriple ("thumbv6m-apple-" OSNAME); return true;
+ case 10: arch.SetTriple ("thumbv6-apple-" OSNAME); return true;
+ case 11: arch.SetTriple ("thumbv5-apple-" OSNAME); return true;
+ case 12: arch.SetTriple ("thumbv4t-apple-" OSNAME); return true;
+ case 13: arch.SetTriple ("thumb-apple-" OSNAME); return true;
default: break;
}
break;
@@ -910,20 +923,20 @@ PlatformDarwin::ARMGetSupportedArchitect
case ArchSpec::eCore_arm_armv7em:
switch (idx)
{
- case 0: arch.SetTriple ("armv7em-apple-ios"); return true;
- case 1: arch.SetTriple ("armv7-apple-ios"); return true;
- case 2: arch.SetTriple ("armv6m-apple-ios"); return true;
- case 3: arch.SetTriple ("armv6-apple-ios"); return true;
- case 4: arch.SetTriple ("armv5-apple-ios"); return true;
- case 5: arch.SetTriple ("armv4-apple-ios"); return true;
- case 6: arch.SetTriple ("arm-apple-ios"); return true;
- case 7: arch.SetTriple ("thumbv7em-apple-ios"); return true;
- case 8: arch.SetTriple ("thumbv7-apple-ios"); return true;
- case 9: arch.SetTriple ("thumbv6m-apple-ios"); return true;
- case 10: arch.SetTriple ("thumbv6-apple-ios"); return true;
- case 11: arch.SetTriple ("thumbv5-apple-ios"); return true;
- case 12: arch.SetTriple ("thumbv4t-apple-ios"); return true;
- case 13: arch.SetTriple ("thumb-apple-ios"); return true;
+ case 0: arch.SetTriple ("armv7em-apple-" OSNAME); return true;
+ case 1: arch.SetTriple ("armv7-apple-" OSNAME); return true;
+ case 2: arch.SetTriple ("armv6m-apple-" OSNAME); return true;
+ case 3: arch.SetTriple ("armv6-apple-" OSNAME); return true;
+ case 4: arch.SetTriple ("armv5-apple-" OSNAME); return true;
+ case 5: arch.SetTriple ("armv4-apple-" OSNAME); return true;
+ case 6: arch.SetTriple ("arm-apple-" OSNAME); return true;
+ case 7: arch.SetTriple ("thumbv7em-apple-" OSNAME); return true;
+ case 8: arch.SetTriple ("thumbv7-apple-" OSNAME); return true;
+ case 9: arch.SetTriple ("thumbv6m-apple-" OSNAME); return true;
+ case 10: arch.SetTriple ("thumbv6-apple-" OSNAME); return true;
+ case 11: arch.SetTriple ("thumbv5-apple-" OSNAME); return true;
+ case 12: arch.SetTriple ("thumbv4t-apple-" OSNAME); return true;
+ case 13: arch.SetTriple ("thumb-apple-" OSNAME); return true;
default: break;
}
break;
@@ -931,18 +944,18 @@ PlatformDarwin::ARMGetSupportedArchitect
case ArchSpec::eCore_arm_armv7:
switch (idx)
{
- case 0: arch.SetTriple ("armv7-apple-ios"); return true;
- case 1: arch.SetTriple ("armv6m-apple-ios"); return true;
- case 2: arch.SetTriple ("armv6-apple-ios"); return true;
- case 3: arch.SetTriple ("armv5-apple-ios"); return true;
- case 4: arch.SetTriple ("armv4-apple-ios"); return true;
- case 5: arch.SetTriple ("arm-apple-ios"); return true;
- case 6: arch.SetTriple ("thumbv7-apple-ios"); return true;
- case 7: arch.SetTriple ("thumbv6m-apple-ios"); return true;
- case 8: arch.SetTriple ("thumbv6-apple-ios"); return true;
- case 9: arch.SetTriple ("thumbv5-apple-ios"); return true;
- case 10: arch.SetTriple ("thumbv4t-apple-ios"); return true;
- case 11: arch.SetTriple ("thumb-apple-ios"); return true;
+ case 0: arch.SetTriple ("armv7-apple-" OSNAME); return true;
+ case 1: arch.SetTriple ("armv6m-apple-" OSNAME); return true;
+ case 2: arch.SetTriple ("armv6-apple-" OSNAME); return true;
+ case 3: arch.SetTriple ("armv5-apple-" OSNAME); return true;
+ case 4: arch.SetTriple ("armv4-apple-" OSNAME); return true;
+ case 5: arch.SetTriple ("arm-apple-" OSNAME); return true;
+ case 6: arch.SetTriple ("thumbv7-apple-" OSNAME); return true;
+ case 7: arch.SetTriple ("thumbv6m-apple-" OSNAME); return true;
+ case 8: arch.SetTriple ("thumbv6-apple-" OSNAME); return true;
+ case 9: arch.SetTriple ("thumbv5-apple-" OSNAME); return true;
+ case 10: arch.SetTriple ("thumbv4t-apple-" OSNAME); return true;
+ case 11: arch.SetTriple ("thumb-apple-" OSNAME); return true;
default: break;
}
break;
@@ -950,16 +963,16 @@ PlatformDarwin::ARMGetSupportedArchitect
case ArchSpec::eCore_arm_armv6m:
switch (idx)
{
- case 0: arch.SetTriple ("armv6m-apple-ios"); return true;
- case 1: arch.SetTriple ("armv6-apple-ios"); return true;
- case 2: arch.SetTriple ("armv5-apple-ios"); return true;
- case 3: arch.SetTriple ("armv4-apple-ios"); return true;
- case 4: arch.SetTriple ("arm-apple-ios"); return true;
- case 5: arch.SetTriple ("thumbv6m-apple-ios"); return true;
- case 6: arch.SetTriple ("thumbv6-apple-ios"); return true;
- case 7: arch.SetTriple ("thumbv5-apple-ios"); return true;
- case 8: arch.SetTriple ("thumbv4t-apple-ios"); return true;
- case 9: arch.SetTriple ("thumb-apple-ios"); return true;
+ case 0: arch.SetTriple ("armv6m-apple-" OSNAME); return true;
+ case 1: arch.SetTriple ("armv6-apple-" OSNAME); return true;
+ case 2: arch.SetTriple ("armv5-apple-" OSNAME); return true;
+ case 3: arch.SetTriple ("armv4-apple-" OSNAME); return true;
+ case 4: arch.SetTriple ("arm-apple-" OSNAME); return true;
+ case 5: arch.SetTriple ("thumbv6m-apple-" OSNAME); return true;
+ case 6: arch.SetTriple ("thumbv6-apple-" OSNAME); return true;
+ case 7: arch.SetTriple ("thumbv5-apple-" OSNAME); return true;
+ case 8: arch.SetTriple ("thumbv4t-apple-" OSNAME); return true;
+ case 9: arch.SetTriple ("thumb-apple-" OSNAME); return true;
default: break;
}
break;
@@ -967,14 +980,14 @@ PlatformDarwin::ARMGetSupportedArchitect
case ArchSpec::eCore_arm_armv6:
switch (idx)
{
- case 0: arch.SetTriple ("armv6-apple-ios"); return true;
- case 1: arch.SetTriple ("armv5-apple-ios"); return true;
- case 2: arch.SetTriple ("armv4-apple-ios"); return true;
- case 3: arch.SetTriple ("arm-apple-ios"); return true;
- case 4: arch.SetTriple ("thumbv6-apple-ios"); return true;
- case 5: arch.SetTriple ("thumbv5-apple-ios"); return true;
- case 6: arch.SetTriple ("thumbv4t-apple-ios"); return true;
- case 7: arch.SetTriple ("thumb-apple-ios"); return true;
+ case 0: arch.SetTriple ("armv6-apple-" OSNAME); return true;
+ case 1: arch.SetTriple ("armv5-apple-" OSNAME); return true;
+ case 2: arch.SetTriple ("armv4-apple-" OSNAME); return true;
+ case 3: arch.SetTriple ("arm-apple-" OSNAME); return true;
+ case 4: arch.SetTriple ("thumbv6-apple-" OSNAME); return true;
+ case 5: arch.SetTriple ("thumbv5-apple-" OSNAME); return true;
+ case 6: arch.SetTriple ("thumbv4t-apple-" OSNAME); return true;
+ case 7: arch.SetTriple ("thumb-apple-" OSNAME); return true;
default: break;
}
break;
@@ -982,12 +995,12 @@ PlatformDarwin::ARMGetSupportedArchitect
case ArchSpec::eCore_arm_armv5:
switch (idx)
{
- case 0: arch.SetTriple ("armv5-apple-ios"); return true;
- case 1: arch.SetTriple ("armv4-apple-ios"); return true;
- case 2: arch.SetTriple ("arm-apple-ios"); return true;
- case 3: arch.SetTriple ("thumbv5-apple-ios"); return true;
- case 4: arch.SetTriple ("thumbv4t-apple-ios"); return true;
- case 5: arch.SetTriple ("thumb-apple-ios"); return true;
+ case 0: arch.SetTriple ("armv5-apple-" OSNAME); return true;
+ case 1: arch.SetTriple ("armv4-apple-" OSNAME); return true;
+ case 2: arch.SetTriple ("arm-apple-" OSNAME); return true;
+ case 3: arch.SetTriple ("thumbv5-apple-" OSNAME); return true;
+ case 4: arch.SetTriple ("thumbv4t-apple-" OSNAME); return true;
+ case 5: arch.SetTriple ("thumb-apple-" OSNAME); return true;
default: break;
}
break;
@@ -995,10 +1008,10 @@ PlatformDarwin::ARMGetSupportedArchitect
case ArchSpec::eCore_arm_armv4:
switch (idx)
{
- case 0: arch.SetTriple ("armv4-apple-ios"); return true;
- case 1: arch.SetTriple ("arm-apple-ios"); return true;
- case 2: arch.SetTriple ("thumbv4t-apple-ios"); return true;
- case 3: arch.SetTriple ("thumb-apple-ios"); return true;
+ case 0: arch.SetTriple ("armv4-apple-" OSNAME); return true;
+ case 1: arch.SetTriple ("arm-apple-" OSNAME); return true;
+ case 2: arch.SetTriple ("thumbv4t-apple-" OSNAME); return true;
+ case 3: arch.SetTriple ("thumb-apple-" OSNAME); return true;
default: break;
}
break;
Modified: lldb/trunk/source/Target/TargetList.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/TargetList.cpp?rev=253763&r1=253762&r2=253763&view=diff
==============================================================================
--- lldb/trunk/source/Target/TargetList.cpp (original)
+++ lldb/trunk/source/Target/TargetList.cpp Fri Nov 20 22:00:43 2015
@@ -245,7 +245,11 @@ TargetList::CreateTargetInternal (Debugg
}
// Just find a platform that matches the architecture in the executable file
- platforms.push_back(Platform::GetPlatformForArchitecture(module_spec.GetArchitecture(), nullptr));
+ PlatformSP fallback_platform_sp (Platform::GetPlatformForArchitecture(module_spec.GetArchitecture(), nullptr));
+ if (fallback_platform_sp)
+ {
+ platforms.push_back(fallback_platform_sp);
+ }
}
}
More information about the lldb-commits
mailing list