From bc07a1672a0ae4e282e03d18bcafec94f67ecf3e Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 11 Jun 2014 14:58:20 -0400 Subject: [PATCH] Different attempt to default to hard-float on arm (#803433) Conflicts: llvm.spec --- llvm.spec | 9 ++++++++- pr12586.patch | 13 +++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 pr12586.patch diff --git a/llvm.spec b/llvm.spec index abd771a..b9275a1 100644 --- a/llvm.spec +++ b/llvm.spec @@ -36,7 +36,7 @@ Name: llvm Version: 3.4 -Release: 8%{?dist} +Release: 9%{?dist} Summary: The Low Level Virtual Machine Group: Development/Languages @@ -66,6 +66,9 @@ Patch12: 0002-linker-flags-speedup-memory.patch # sledgehammer to default to hard-float on arm Patch20: clang-3.4-arm-hard-float.patch +# http://llvm.org/bugs/attachment.cgi?id=12586 +Patch22: pr12586.patch + BuildRequires: bison BuildRequires: chrpath BuildRequires: flex @@ -306,6 +309,7 @@ mv lldb-%{version} tools/lldb %if %{with clang} %patch20 -p1 %endif +%patch22 -p1 # fix library paths sed -i 's|/lib /usr/lib $lt_ld_extra|%{_libdir} $lt_ld_extra|' ./configure @@ -671,6 +675,9 @@ exit 0 %endif %changelog +* Wed Jun 11 2014 Adam Jackson 3.4-9 +- Different attempt to default to hard-float on arm (#803433) + * Mon Jun 02 2014 Adam Jackson 3.4-8 - Attempt to default to hard-float on arm (#803433) diff --git a/pr12586.patch b/pr12586.patch new file mode 100644 index 0000000..f3a7cf3 --- /dev/null +++ b/pr12586.patch @@ -0,0 +1,13 @@ +diff --git a/tools/clang/lib/Driver/Tools.cpp b/tools/clang/lib/Driver/Tools.cpp +index 29713ed..0d23694 100644 +--- a/tools/clang/lib/Driver/Tools.cpp ++++ b/tools/clang/lib/Driver/Tools.cpp +@@ -747,7 +747,7 @@ static StringRef getARMFloatABI(const Driver &D, + FloatABI = "hard"; + break; + case llvm::Triple::GNUEABI: +- FloatABI = "softfp"; ++ FloatABI = Triple.getVendorName() == "hardfloat" ? "hard" : "softfp"; + break; + case llvm::Triple::EABI: + // EABI is always AAPCS, and if it was not marked 'hard', it's softfp