From c688322f98811af921782e3aa021c538eddfffad Mon Sep 17 00:00:00 2001
From: Joerg Sonnenberger <joerg@bec.de>
Date: Thu, 5 Dec 2013 21:27:58 +0000
Subject: [PATCH] For NetBSD, use arm1176jzf-s as default CPU for ARMv6.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196538 91177308-0d34-0410-b5e6-96231b3b80d8
---
 lib/Driver/ToolChain.cpp | 5 +++++
 lib/Driver/Tools.cpp     | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp
index faa06b68e0..efd3945b3d 100644
--- a/lib/Driver/ToolChain.cpp
+++ b/lib/Driver/ToolChain.cpp
@@ -183,6 +183,11 @@ static const char *getARMTargetCPU(const ArgList &Args,
     MArch = Triple.getArchName();
   }
 
+  if (Triple.getOS() == llvm::Triple::NetBSD) {
+    if (MArch == "armv6")
+      return "arm1176jzf-s";
+  }
+
   const char *result = llvm::StringSwitch<const char *>(MArch)
     .Cases("armv2", "armv2a","arm2")
     .Case("armv3", "arm6")
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index 8df2742e5f..16ec73302a 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -499,6 +499,11 @@ static std::string getARMTargetCPU(const ArgList &Args,
     MArch = Triple.getArchName();
   }
 
+  if (Triple.getOS() == llvm::Triple::NetBSD) {
+    if (MArch == "armv6")
+      return "arm1176jzf-s";
+  }
+
   // Handle -march=native.
   std::string NativeMArch;
   if (MArch == "native") {
-- 
2.40.0