aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2016-08-12 11:10:22 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-08-17 10:35:08 +0100
commit51caeccfc5b18b59deac5005e0059a414cbbed32 (patch)
tree1f6c14d66009fa748d67de754032a4d1ede07dae
parentc91898b07465fdd5f3629babb7ff9226454de24e (diff)
downloadopenembedded-core-contrib-51caeccfc5b18b59deac5005e0059a414cbbed32.tar.gz
gmp: Fix wrong detection of -march flag
Configure detects -march flag based upon target triplet, it wrongly passes -march=armv4 for all arm, this is unearthed when compiling with clang since it errors out with flags like /tmp/kraj01/a-0c2038.s:27: Error: selected processor does not support `bx r0' in ARM mode since it does not pass --fix-v4bx along with -march=armv4, which does not happen with gcc toolchain since this flag is passed impicitly hence this error was indetected Fixed thusly Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/recipes-support/gmp/gmp-6.1.1/0001-confiure.ac-Believe-the-cflags-from-environment.patch52
-rw-r--r--meta/recipes-support/gmp/gmp_6.1.1.bb1
2 files changed, 53 insertions, 0 deletions
diff --git a/meta/recipes-support/gmp/gmp-6.1.1/0001-confiure.ac-Believe-the-cflags-from-environment.patch b/meta/recipes-support/gmp/gmp-6.1.1/0001-confiure.ac-Believe-the-cflags-from-environment.patch
new file mode 100644
index 0000000000..665367658b
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp-6.1.1/0001-confiure.ac-Believe-the-cflags-from-environment.patch
@@ -0,0 +1,52 @@
+From ae1a4c37417a3bbbf8ea1cab198982b0cad47e29 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 12 Aug 2016 17:08:13 +0000
+Subject: [PATCH] confiure.ac: Believe the cflags from environment
+
+In some toolchains e.g. OpenEmbedded -march options
+are passed on compiler cmdline, it does not use
+the expected target triplets to make these decision
+during configure.
+
+Secondly, dont set armv4 for march when no selection
+is made, since it is passed from cmdline
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Inappropriate[OE-Specific]
+
+ configure.ac | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 857ea3b..359e919 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -607,15 +607,6 @@ case $host in
+ GMP_INCLUDE_MPN(arm/arm-defs.m4)
+ CALLING_CONVENTIONS_OBJS='arm32call.lo arm32check.lo'
+
+- # This is needed for clang, which is not content with flags like -mfpu=neon
+- # alone.
+- case $host in
+- *-*-*eabi)
+- gcc_cflags_fpmode="-mfloat-abi=softfp" ;;
+- *-*-*eabihf)
+- gcc_cflags_fpmode="-mfloat-abi=hard" ;;
+- esac
+-
+ # FIXME: We make mandatory compiler options optional here. We should
+ # either enforce them, or organise to strip paths as the corresponding
+ # options fail.
+@@ -686,8 +677,6 @@ case $host in
+ ;;
+ *)
+ path="arm"
+- gcc_cflags_arch="-march=armv4"
+- GMP_DEFINE_RAW(["define(<NOTHUMB>,1)"])
+ ;;
+ esac
+ ;;
+--
+1.9.1
+
diff --git a/meta/recipes-support/gmp/gmp_6.1.1.bb b/meta/recipes-support/gmp/gmp_6.1.1.bb
index 1df9b06cc8..303c3ef9e2 100644
--- a/meta/recipes-support/gmp/gmp_6.1.1.bb
+++ b/meta/recipes-support/gmp/gmp_6.1.1.bb
@@ -12,6 +12,7 @@ SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2 \
file://amd64.patch \
file://use-includedir.patch \
file://0001-Append-the-user-provided-flags-to-the-auto-detected-.patch \
+ file://0001-confiure.ac-Believe-the-cflags-from-environment.patch \
"
SRC_URI[md5sum] = "4c175f86e11eb32d8bf9872ca3a8e11d"