diff options
| -rw-r--r-- | meta/recipes-support/boost/bjam-native_1.63.0.bb (renamed from meta/recipes-support/boost/bjam-native_1.62.0.bb) | 0 | ||||
| -rw-r--r-- | meta/recipes-support/boost/boost-1.63.0.inc (renamed from meta/recipes-support/boost/boost-1.62.0.inc) | 4 | ||||
| -rw-r--r-- | meta/recipes-support/boost/boost/0001-When-using-soft-float-on-ARM-we-should-not-expect-th.patch | 29 | ||||
| -rw-r--r-- | meta/recipes-support/boost/boost/0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch | 145 | ||||
| -rw-r--r-- | meta/recipes-support/boost/boost/consider-hardfp.patch | 19 | ||||
| -rw-r--r-- | meta/recipes-support/boost/boost_1.63.0.bb (renamed from meta/recipes-support/boost/boost_1.62.0.bb) | 3 |
6 files changed, 32 insertions, 168 deletions
diff --git a/meta/recipes-support/boost/bjam-native_1.62.0.bb b/meta/recipes-support/boost/bjam-native_1.63.0.bb index 46013f343b..46013f343b 100644 --- a/meta/recipes-support/boost/bjam-native_1.62.0.bb +++ b/meta/recipes-support/boost/bjam-native_1.63.0.bb | |||
diff --git a/meta/recipes-support/boost/boost-1.62.0.inc b/meta/recipes-support/boost/boost-1.63.0.inc index 1138de61f1..1c1563050c 100644 --- a/meta/recipes-support/boost/boost-1.62.0.inc +++ b/meta/recipes-support/boost/boost-1.63.0.inc | |||
| @@ -13,8 +13,8 @@ BOOST_P = "boost_${BOOST_VER}" | |||
| 13 | 13 | ||
| 14 | SRC_URI = "${SOURCEFORGE_MIRROR}/project/boost/boost/${PV}/${BOOST_P}.tar.bz2" | 14 | SRC_URI = "${SOURCEFORGE_MIRROR}/project/boost/boost/${PV}/${BOOST_P}.tar.bz2" |
| 15 | 15 | ||
| 16 | SRC_URI[md5sum] = "5fb94629535c19e48703bdb2b2e9490f" | 16 | SRC_URI[md5sum] = "1c837ecd990bb022d07e7aab32b09847" |
| 17 | SRC_URI[sha256sum] = "36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0" | 17 | SRC_URI[sha256sum] = "beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0" |
| 18 | 18 | ||
| 19 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/boost/files/" | 19 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/boost/files/" |
| 20 | 20 | ||
diff --git a/meta/recipes-support/boost/boost/0001-When-using-soft-float-on-ARM-we-should-not-expect-th.patch b/meta/recipes-support/boost/boost/0001-When-using-soft-float-on-ARM-we-should-not-expect-th.patch new file mode 100644 index 0000000000..bafd5ce001 --- /dev/null +++ b/meta/recipes-support/boost/boost/0001-When-using-soft-float-on-ARM-we-should-not-expect-th.patch | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | From 9ab0914207e6d0e6b75ce12147c54b96478feb64 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
| 3 | Date: Tue, 21 Feb 2017 12:50:35 +0200 | ||
| 4 | Subject: [PATCH] When using soft-float, on ARM we should not expect the FE_* | ||
| 5 | symbols | ||
| 6 | |||
| 7 | Upstream-Status: Pending | ||
| 8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 9 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
| 10 | --- | ||
| 11 | boost/test/execution_monitor.hpp | 2 +- | ||
| 12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 13 | |||
| 14 | diff --git a/boost/test/execution_monitor.hpp b/boost/test/execution_monitor.hpp | ||
| 15 | index f53348a..86252d7 100644 | ||
| 16 | --- a/boost/test/execution_monitor.hpp | ||
| 17 | +++ b/boost/test/execution_monitor.hpp | ||
| 18 | @@ -498,7 +498,7 @@ enum masks { | ||
| 19 | |||
| 20 | BOOST_FPE_ALL = MCW_EM, | ||
| 21 | |||
| 22 | -#elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG) /* *** */ | ||
| 23 | +#elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG) || defined(__ARM_PCS) /* *** */ | ||
| 24 | BOOST_FPE_ALL = BOOST_FPE_OFF, | ||
| 25 | |||
| 26 | #else /* *** */ | ||
| 27 | -- | ||
| 28 | 2.11.0 | ||
| 29 | |||
diff --git a/meta/recipes-support/boost/boost/0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch b/meta/recipes-support/boost/boost/0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch deleted file mode 100644 index 569c987336..0000000000 --- a/meta/recipes-support/boost/boost/0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch +++ /dev/null | |||
| @@ -1,145 +0,0 @@ | |||
| 1 | From 5c349a1c391c9ce171a1c80f5164fae764f27dba Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com> | ||
| 3 | Date: Wed, 24 Aug 2016 20:58:59 +0100 | ||
| 4 | Subject: [PATCH 2/4] boost/test/execution_monitor.hpp: fix mips soft float | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | gcc.compile.c++ <builddir>/boost/bin.v2/libs/test/build/gcc-4.3.1/release/threading-multi/execution_monitor.o | ||
| 10 | |||
| 11 | "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" | ||
| 12 | |||
| 13 | In file included from ./boost/test/impl/execution_monitor.ipp:31:0, | ||
| 14 | from libs/test/src/execution_monitor.cpp:16: | ||
| 15 | ./boost/test/execution_monitor.hpp:491:27: error: 'FE_DIVBYZERO' was not declared in this scope | ||
| 16 | BOOST_FPE_DIVBYZERO = FE_DIVBYZERO, | ||
| 17 | ^~~~~~~~~~~~ | ||
| 18 | ./boost/test/execution_monitor.hpp:492:27: error: 'FE_INEXACT' was not declared in this scope | ||
| 19 | BOOST_FPE_INEXACT = FE_INEXACT, | ||
| 20 | ^~~~~~~~~~ | ||
| 21 | ./boost/test/execution_monitor.hpp:493:27: error: 'FE_INVALID' was not declared in this scope | ||
| 22 | BOOST_FPE_INVALID = FE_INVALID, | ||
| 23 | ^~~~~~~~~~ | ||
| 24 | ./boost/test/execution_monitor.hpp:494:27: error: 'FE_OVERFLOW' was not declared in this scope | ||
| 25 | BOOST_FPE_OVERFLOW = FE_OVERFLOW, | ||
| 26 | ^~~~~~~~~~~ | ||
| 27 | ./boost/test/execution_monitor.hpp:495:27: error: 'FE_UNDERFLOW' was not declared in this scope | ||
| 28 | BOOST_FPE_UNDERFLOW = FE_UNDERFLOW, | ||
| 29 | ^~~~~~~~~~~~ | ||
| 30 | |||
| 31 | The reason is that some (notably FPU-less) architectures, | ||
| 32 | including mips*-nf, don't define/implement some of the | ||
| 33 | floating point constants, even though fenv.h is | ||
| 34 | available. | ||
| 35 | |||
| 36 | The key point is: | ||
| 37 | A fully standards conforming fenv.h does not have to | ||
| 38 | define any FE_* macros, and if it does define them, | ||
| 39 | then it defines macros only for the FP exceptions it | ||
| 40 | actually supports. | ||
| 41 | |||
| 42 | So correct usage requires a triple check: | ||
| 43 | 1) Check BOOST_NO_FENV_H to see if the header is supported. | ||
| 44 | 2) Include the header and then check FE_ALL_EXCEPT to see | ||
| 45 | if any FP exceptions are supported. | ||
| 46 | 3) Before using the individual FE_* macros, you need to | ||
| 47 | check for their existence too as not all may be | ||
| 48 | supported. | ||
| 49 | |||
| 50 | https://svn.boost.org/trac/boost/ticket/11756 | ||
| 51 | |||
| 52 | Other projects have similar issues, e.g. pixman, and | ||
| 53 | apply similar work-arounds: | ||
| 54 | https://lists.freedesktop.org/archives/pixman/2014-February/003172.html | ||
| 55 | |||
| 56 | Architectures are notably also allowed to define FE_ALL_EXCEPT to 0! | ||
| 57 | Keeping this in mind, and knowing that the compiler will eliminate | ||
| 58 | code that can't be executed, we can change BOOST_FPE_ALL to be 0 for | ||
| 59 | the case of compiling using Clang and/or fenv.h being unavailable | ||
| 60 | as well, which allows simplification of the #ifdef's in | ||
| 61 | execution_monitor.ipp a bit. | ||
| 62 | |||
| 63 | Signed-off-by: André Draszik <adraszik@tycoint.com> | ||
| 64 | --- | ||
| 65 | Upstream-Status: Submitted https://svn.boost.org/trac/boost/ticket/11756 | ||
| 66 | boost/test/execution_monitor.hpp | 26 +++++++++++++++++++++++++- | ||
| 67 | boost/test/impl/execution_monitor.ipp | 10 ++++++++-- | ||
| 68 | 2 files changed, 33 insertions(+), 3 deletions(-) | ||
| 69 | |||
| 70 | diff --git a/boost/test/execution_monitor.hpp b/boost/test/execution_monitor.hpp | ||
| 71 | index 0eee497..44fe59d 100644 | ||
| 72 | --- a/boost/test/execution_monitor.hpp | ||
| 73 | +++ b/boost/test/execution_monitor.hpp | ||
| 74 | @@ -486,15 +486,39 @@ enum masks { | ||
| 75 | BOOST_FPE_ALL = MCW_EM, | ||
| 76 | #elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG) \ | ||
| 77 | || defined(__ARM_PCS) | ||
| 78 | - BOOST_FPE_ALL = 1, | ||
| 79 | + BOOST_FPE_ALL = 0, | ||
| 80 | #else | ||
| 81 | +#if defined(FE_DIVBYZERO) | ||
| 82 | BOOST_FPE_DIVBYZERO = FE_DIVBYZERO, | ||
| 83 | +#else | ||
| 84 | + BOOST_FPE_DIVBYZERO = 0, | ||
| 85 | +#endif | ||
| 86 | +#if defined(FE_INEXACT) | ||
| 87 | BOOST_FPE_INEXACT = FE_INEXACT, | ||
| 88 | +#else | ||
| 89 | + BOOST_FPE_INEXACT = 0, | ||
| 90 | +#endif | ||
| 91 | +#if defined(FE_INVALID) | ||
| 92 | BOOST_FPE_INVALID = FE_INVALID, | ||
| 93 | +#else | ||
| 94 | + BOOST_FPE_INVALID = 0, | ||
| 95 | +#endif | ||
| 96 | +#if defined(FE_OVERFLOW) | ||
| 97 | BOOST_FPE_OVERFLOW = FE_OVERFLOW, | ||
| 98 | +#else | ||
| 99 | + BOOST_FPE_OVERFLOW = 0, | ||
| 100 | +#endif | ||
| 101 | +#if defined(FE_UNDERFLOW) | ||
| 102 | BOOST_FPE_UNDERFLOW = FE_UNDERFLOW, | ||
| 103 | +#else | ||
| 104 | + BOOST_FPE_UNDERFLOW = 0, | ||
| 105 | +#endif | ||
| 106 | |||
| 107 | +#if defined(FE_ALL_EXCEPT) | ||
| 108 | BOOST_FPE_ALL = FE_ALL_EXCEPT, | ||
| 109 | +#else | ||
| 110 | + BOOST_FPE_ALL = 0, | ||
| 111 | +#endif | ||
| 112 | #endif | ||
| 113 | BOOST_FPE_INV = BOOST_FPE_ALL+1 | ||
| 114 | }; | ||
| 115 | diff --git a/boost/test/impl/execution_monitor.ipp b/boost/test/impl/execution_monitor.ipp | ||
| 116 | index f7fc8ea..d1088b9 100644 | ||
| 117 | --- a/boost/test/impl/execution_monitor.ipp | ||
| 118 | +++ b/boost/test/impl/execution_monitor.ipp | ||
| 119 | @@ -1381,7 +1381,10 @@ enable( unsigned mask ) | ||
| 120 | #endif | ||
| 121 | |||
| 122 | return ~old_cw & BOOST_FPE_ALL; | ||
| 123 | -#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) | ||
| 124 | +#elif defined(__GLIBC__) && defined(__USE_GNU) | ||
| 125 | + if (BOOST_FPE_ALL == 0) | ||
| 126 | + /* Not Implemented */ | ||
| 127 | + return 0; | ||
| 128 | feclearexcept(BOOST_FPE_ALL); | ||
| 129 | int res = feenableexcept( mask ); | ||
| 130 | return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res; | ||
| 131 | @@ -1418,7 +1421,10 @@ disable( unsigned mask ) | ||
| 132 | #endif | ||
| 133 | |||
| 134 | return ~old_cw & BOOST_FPE_ALL; | ||
| 135 | -#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) | ||
| 136 | +#elif defined(__GLIBC__) && defined(__USE_GNU) | ||
| 137 | + if (BOOST_FPE_ALL == 0) | ||
| 138 | + /* Not Implemented */ | ||
| 139 | + return BOOST_FPE_INV; | ||
| 140 | feclearexcept(BOOST_FPE_ALL); | ||
| 141 | int res = fedisableexcept( mask ); | ||
| 142 | return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res; | ||
| 143 | -- | ||
| 144 | 2.9.3 | ||
| 145 | |||
diff --git a/meta/recipes-support/boost/boost/consider-hardfp.patch b/meta/recipes-support/boost/boost/consider-hardfp.patch deleted file mode 100644 index 66808a69dd..0000000000 --- a/meta/recipes-support/boost/boost/consider-hardfp.patch +++ /dev/null | |||
| @@ -1,19 +0,0 @@ | |||
| 1 | When using soft-float, on ARM we should not expect the FE_* symbols | ||
| 2 | |||
| 3 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 4 | Upstream-Status: Pending | ||
| 5 | |||
| 6 | Index: boost_1_60_0/boost/test/execution_monitor.hpp | ||
| 7 | =================================================================== | ||
| 8 | --- boost_1_60_0.orig/boost/test/execution_monitor.hpp | ||
| 9 | +++ boost_1_60_0/boost/test/execution_monitor.hpp | ||
| 10 | @@ -484,7 +484,8 @@ enum masks { | ||
| 11 | BOOST_FPE_UNDERFLOW = EM_UNDERFLOW|EM_DENORMAL, | ||
| 12 | |||
| 13 | BOOST_FPE_ALL = MCW_EM, | ||
| 14 | -#elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG) | ||
| 15 | +#elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG) \ | ||
| 16 | + || defined(__ARM_PCS) | ||
| 17 | BOOST_FPE_ALL = 1, | ||
| 18 | #else | ||
| 19 | BOOST_FPE_DIVBYZERO = FE_DIVBYZERO, | ||
diff --git a/meta/recipes-support/boost/boost_1.62.0.bb b/meta/recipes-support/boost/boost_1.63.0.bb index de4932a6e1..dd30934091 100644 --- a/meta/recipes-support/boost/boost_1.62.0.bb +++ b/meta/recipes-support/boost/boost_1.63.0.bb | |||
| @@ -3,10 +3,9 @@ require boost.inc | |||
| 3 | 3 | ||
| 4 | SRC_URI += "\ | 4 | SRC_URI += "\ |
| 5 | file://arm-intrinsics.patch \ | 5 | file://arm-intrinsics.patch \ |
| 6 | file://consider-hardfp.patch \ | 6 | file://0001-When-using-soft-float-on-ARM-we-should-not-expect-th.patch \ |
| 7 | file://boost-CVE-2012-2677.patch \ | 7 | file://boost-CVE-2012-2677.patch \ |
| 8 | file://0001-boost-asio-detail-socket_types.hpp-fix-poll.h-includ.patch \ | 8 | file://0001-boost-asio-detail-socket_types.hpp-fix-poll.h-includ.patch \ |
| 9 | file://0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch \ | ||
| 10 | file://0004-Use-atomic-by-default-when-BOOST_NO_CXX11_HDR_ATOMIC.patch \ | 9 | file://0004-Use-atomic-by-default-when-BOOST_NO_CXX11_HDR_ATOMIC.patch \ |
| 11 | file://boost-math-disable-pch-for-gcc.patch \ | 10 | file://boost-math-disable-pch-for-gcc.patch \ |
| 12 | file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch \ | 11 | file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch \ |
