]> code.ossystems Code Review - openembedded-core.git/commitdiff
boost: Fix build on soft-float ABI arm systems
authorKhem Raj <raj.khem@gmail.com>
Mon, 1 Feb 2016 05:08:29 +0000 (05:08 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 2 Feb 2016 14:42:14 +0000 (14:42 +0000)
We get errors like
./boost/test/execution_monitor.hpp:490:27: error: 'FE_DIVBYZERO' was not
declared in this scope
     BOOST_FPE_DIVBYZERO = FE_DIVBYZERO,

on musl, rightly because FPU is not used on soft-float
systems

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-support/boost/boost/consider-hardfp.patch [new file with mode: 0644]
meta/recipes-support/boost/boost_1.60.0.bb

diff --git a/meta/recipes-support/boost/boost/consider-hardfp.patch b/meta/recipes-support/boost/boost/consider-hardfp.patch
new file mode 100644 (file)
index 0000000..66808a6
--- /dev/null
@@ -0,0 +1,19 @@
+When using soft-float, on ARM we should not expect the FE_* symbols
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: boost_1_60_0/boost/test/execution_monitor.hpp
+===================================================================
+--- boost_1_60_0.orig/boost/test/execution_monitor.hpp
++++ boost_1_60_0/boost/test/execution_monitor.hpp
+@@ -484,7 +484,8 @@ enum masks {
+     BOOST_FPE_UNDERFLOW = EM_UNDERFLOW|EM_DENORMAL,
+     BOOST_FPE_ALL       = MCW_EM,
+-#elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG)
++#elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG) \
++    || defined(__ARM_PCS)
+     BOOST_FPE_ALL       = 1,
+ #else
+     BOOST_FPE_DIVBYZERO = FE_DIVBYZERO,
index e7b91dcc72d7c4c2ffdb126090b83cb25e8049c0..4d824c85b50b22823df05ff64c7a5c7f01e29493 100644 (file)
@@ -4,4 +4,5 @@ include boost.inc
 SRC_URI += "\
     file://arm-intrinsics.patch \
     file://0001-Do-not-qualify-fenv.h-names-that-might-be-macros.patch;striplevel=2 \
+    file://consider-hardfp.patch \
 "