Date: Sat, 7 Sep 2013 22:17:45 +0000 (UTC) From: Andrew Turner <andrew@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r255381 - projects/arm_eabi_vfp/contrib/llvm/tools/clang/lib/Driver Message-ID: <201309072217.r87MHjWt026617@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309072217.r87MHjWt026617>