aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-support/boost/boost/0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-support/boost/boost/0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch')
-rw-r--r--common/recipes-support/boost/boost/0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch146
1 files changed, 0 insertions, 146 deletions
diff --git a/common/recipes-support/boost/boost/0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch b/common/recipes-support/boost/boost/0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch
deleted file mode 100644
index 0c22fb61..00000000
--- a/common/recipes-support/boost/boost/0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From 5c349a1c391c9ce171a1c80f5164fae764f27dba Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
-Date: Wed, 24 Aug 2016 20:58:59 +0100
-Subject: [PATCH 2/4] boost/test/execution_monitor.hpp: fix mips soft float
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-gcc.compile.c++ <builddir>/boost/bin.v2/libs/test/build/gcc-4.3.1/release/threading-multi/execution_monitor.o
-
- "mipsel-poky-linux-musl-g++" "-mel" "-mabi=32" "-msoft-float" "-march=mips32r2" "-mips16" "-minterlink-compressed" "-mtune=24kec" "-mdsp" "-Wl,-O1" "-Wl,--as-needed" "-fstack-protector-strong" "-Wl,-z,relro,-z,now" "--sysroot=<sysroot>" -ftemplate-depth-128 -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=<srcdir>=/usr/src/debug/boost/1.61.0-r0 -fdebug-prefix-map=<sysroot_host>= -fdebug-prefix-map=<sysroot>= -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -fvisibility-inlines-hidden -O3 -finline-functions -Wno-inline -Wall -pedantic -pthread -fPIC -Wno-variadic-macros -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_TEST_DYN_LINK=1 -DBOOST_TIMER_DYN_LINK=1 -DNDEBUG -I"." -c -o "<builddir>/boost/bin.v2/libs/test/build/gcc-4.3.1/release/threading-multi/execution_monitor.o" "libs/test/src/execution_monitor.cpp"
-
-In file included from ./boost/test/impl/execution_monitor.ipp:31:0,
- from libs/test/src/execution_monitor.cpp:16:
-./boost/test/execution_monitor.hpp:491:27: error: 'FE_DIVBYZERO' was not declared in this scope
- BOOST_FPE_DIVBYZERO = FE_DIVBYZERO,
- ^~~~~~~~~~~~
-./boost/test/execution_monitor.hpp:492:27: error: 'FE_INEXACT' was not declared in this scope
- BOOST_FPE_INEXACT = FE_INEXACT,
- ^~~~~~~~~~
-./boost/test/execution_monitor.hpp:493:27: error: 'FE_INVALID' was not declared in this scope
- BOOST_FPE_INVALID = FE_INVALID,
- ^~~~~~~~~~
-./boost/test/execution_monitor.hpp:494:27: error: 'FE_OVERFLOW' was not declared in this scope
- BOOST_FPE_OVERFLOW = FE_OVERFLOW,
- ^~~~~~~~~~~
-./boost/test/execution_monitor.hpp:495:27: error: 'FE_UNDERFLOW' was not declared in this scope
- BOOST_FPE_UNDERFLOW = FE_UNDERFLOW,
- ^~~~~~~~~~~~
-
-The reason is that some (notably FPU-less) architectures,
-including mips*-nf, don't define/implement some of the
-floating point constants, even though fenv.h is
-available.
-
-The key point is:
- A fully standards conforming fenv.h does not have to
- define any FE_* macros, and if it does define them,
- then it defines macros only for the FP exceptions it
- actually supports.
-
-So correct usage requires a triple check:
-1) Check BOOST_NO_FENV_H to see if the header is supported.
-2) Include the header and then check FE_ALL_EXCEPT to see
- if any FP exceptions are supported.
-3) Before using the individual FE_* macros, you need to
- check for their existence too as not all may be
- supported.
-
-https://svn.boost.org/trac/boost/ticket/11756
-
-Other projects have similar issues, e.g. pixman, and
-apply similar work-arounds:
- https://lists.freedesktop.org/archives/pixman/2014-February/003172.html
-
-Architectures are notably also allowed to define FE_ALL_EXCEPT to 0!
-Keeping this in mind, and knowing that the compiler will eliminate
-code that can't be executed, we can change BOOST_FPE_ALL to be 0 for
-the case of compiling using Clang and/or fenv.h being unavailable
-as well, which allows simplification of the #ifdef's in
-execution_monitor.ipp a bit.
-
-Signed-off-by: André Draszik <adraszik@tycoint.com>
----
-Upstream-Status: Submitted https://svn.boost.org/trac/boost/ticket/11756
- include/boost/test/execution_monitor.hpp | 28 +++++++++++++++++++++++++--
- include/boost/test/impl/execution_monitor.ipp | 10 ++++++++--
- 2 files changed, 34 insertions(+), 4 deletions(-)
-
-diff --git a/boost/test/execution_monitor.hpp b/boost/test/execution_monitor.hpp
-index cb83c92..109eeb7 100644
---- a/boost/test/execution_monitor.hpp
-+++ b/boost/test/execution_monitor.hpp
-@@ -488,15 +488,39 @@ enum masks {
- BOOST_FPE_ALL = MCW_EM,
- #elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG) \
- || defined(__ARM_PCS)
-- BOOST_FPE_ALL = 1,
-+ BOOST_FPE_ALL = 0,
- #else
-+#if defined(FE_DIVBYZERO)
- BOOST_FPE_DIVBYZERO = FE_DIVBYZERO,
-+#else
-+ BOOST_FPE_DIVBYZERO = 0,
-+#endif
-+#if defined(FE_INEXACT)
- BOOST_FPE_INEXACT = FE_INEXACT,
-+#else
-+ BOOST_FPE_INEXACT = 0,
-+#endif
-+#if defined(FE_INVALID)
- BOOST_FPE_INVALID = FE_INVALID,
-+#else
-+ BOOST_FPE_INVALID = 0,
-+#endif
-+#if defined(FE_OVERFLOW)
- BOOST_FPE_OVERFLOW = FE_OVERFLOW,
-+#else
-+ BOOST_FPE_OVERFLOW = 0,
-+#endif
-+#if defined(FE_UNDERFLOW)
- BOOST_FPE_UNDERFLOW = FE_UNDERFLOW,
--
-+#else
-+ BOOST_FPE_UNDERFLOW = 0,
-+#endif
-+
-+#if defined(FE_ALL_EXCEPT)
- BOOST_FPE_ALL = FE_ALL_EXCEPT,
-+#else
-+ BOOST_FPE_ALL = 0,
-+#endif
- #endif
- BOOST_FPE_INV = BOOST_FPE_ALL+1
- };
-diff --git a/boost/test/impl/execution_monitor.ipp b/boost/test/impl/execution_monitor.ipp
-index 9929f74..6ce9da1 100644
---- a/boost/test/impl/execution_monitor.ipp
-+++ b/boost/test/impl/execution_monitor.ipp
-@@ -1379,7 +1379,10 @@ enable( unsigned mask )
- #endif
-
- return ~old_cw & BOOST_FPE_ALL;
--#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
-+#elif defined(__GLIBC__) && defined(__USE_GNU)
-+ if (BOOST_FPE_ALL == 0)
-+ /* Not Implemented */
-+ return 0;
- ::feclearexcept(BOOST_FPE_ALL);
- int res = ::feenableexcept( mask );
- return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
-@@ -1416,7 +1419,10 @@ disable( unsigned mask )
- #endif
-
- return ~old_cw & BOOST_FPE_ALL;
--#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
-+#elif defined(__GLIBC__) && defined(__USE_GNU)
-+ if (BOOST_FPE_ALL == 0)
-+ /* Not Implemented */
-+ return BOOST_FPE_INV;
- ::feclearexcept(BOOST_FPE_ALL);
- int res = ::fedisableexcept( mask );
- return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
---
-2.9.3
-