From owner-svn-src-projects@FreeBSD.ORG  Sat Sep  7 22:17:45 2013
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
 (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by hub.freebsd.org (Postfix) with ESMTP id B17503F5;
 Sat,  7 Sep 2013 22:17:45 +0000 (UTC)
 (envelope-from andrew@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org
 [IPv6:2001:1900:2254:2068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9F3FC282F;
 Sat,  7 Sep 2013 22:17:45 +0000 (UTC)
Received: from svn.freebsd.org ([127.0.1.70])
 by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r87MHjDx026618;
 Sat, 7 Sep 2013 22:17:45 GMT (envelope-from andrew@svn.freebsd.org)
Received: (from andrew@localhost)
 by svn.freebsd.org (8.14.7/8.14.5/Submit) id r87MHjWt026617;
 Sat, 7 Sep 2013 22:17:45 GMT (envelope-from andrew@svn.freebsd.org)
Message-Id: <201309072217.r87MHjWt026617@svn.freebsd.org>
From: Andrew Turner <andrew@FreeBSD.org>
Date: Sat, 7 Sep 2013 22:17:45 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r255381 -
 projects/arm_eabi_vfp/contrib/llvm/tools/clang/lib/Driver
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.14
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 07 Sep 2013 22:17:45 -0000

Author: andrew
Date: Sat Sep  7 22:17:45 2013
New Revision: 255381
URL: http://svnweb.freebsd.org/changeset/base/255381

Log:
  Set the default ABI to the softfp version on armv6. This is compatible with
  the existing ABI as it passes floating-point values in ARM regsters. It is
  allowed to use VFP instructions as required instead of calling into the
  softfloat code.

Modified:
  projects/arm_eabi_vfp/contrib/llvm/tools/clang/lib/Driver/Tools.cpp

Modified: projects/arm_eabi_vfp/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
==============================================================================
--- projects/arm_eabi_vfp/contrib/llvm/tools/clang/lib/Driver/Tools.cpp	Sat Sep  7 22:14:30 2013	(r255380)
+++ projects/arm_eabi_vfp/contrib/llvm/tools/clang/lib/Driver/Tools.cpp	Sat Sep  7 22:17:45 2013	(r255381)
@@ -664,11 +664,17 @@ static StringRef getARMFloatABI(const Dr
       case llvm::Triple::GNUEABIHF:
         FloatABI = "hard";
          break;
-      default:
-        // FreeBSD defaults to soft float
-        FloatABI = "soft";
+      default: {
+        std::string ArchName =
+          getLLVMArchSuffixForARM(getARMTargetCPU(Args, Triple));
+        if (StringRef(ArchName).startswith("v6") ||
+            StringRef(ArchName).startswith("v7"))
+          FloatABI = "softfp";
+        else
+          FloatABI = "soft";
         break;
       }
+      }
       break;
 
     default: