ProcessGDBRemote::BuildDynamicRegisterInfo() - even if we don't have a Target architecture
set up yet, if we're talking to an Apple arm device set the register set based on the
arm device's attributes; this is a safe assumption to make in this particular environment.

llvm-svn: 141265
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index d39fbe4..beed1f2 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -345,8 +345,18 @@
         // We didn't get anything. See if we are debugging ARM and fill with
         // a hard coded register set until we can get an updated debugserver
         // down on the devices.
-        if (GetTarget().GetArchitecture().GetMachine() == llvm::Triple::arm)
+
+        if (!GetTarget().GetArchitecture().IsValid()
+            && m_gdb_comm.GetHostArchitecture().IsValid()
+            && m_gdb_comm.GetHostArchitecture().GetMachine() == llvm::Triple::arm
+            && m_gdb_comm.GetHostArchitecture().GetTriple().getVendor() == llvm::Triple::Apple)
+        {
             m_register_info.HardcodeARMRegisters();
+        }
+        else if (GetTarget().GetArchitecture().GetMachine() == llvm::Triple::arm)
+        {
+            m_register_info.HardcodeARMRegisters();
+        }
     }
     m_register_info.Finalize ();
 }