svn commit: r255381 - projects/arm_eabi_vfp/contrib/llvm/tools/clang/lib/Driver
Andrew Turner
andrew at FreeBSD.org
Sat Sep 7 22:17:45 UTC 2013
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:
More information about the svn-src-projects
mailing list