diff options
author | Alexander Kanavin <alexander.kanavin@linux.intel.com> | 2017-02-22 16:51:04 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-01 23:27:09 +0000 |
commit | 817f9b5899e386f4dd2f01d73dbda20ece7713b3 (patch) | |
tree | 47d1378c87276917f03a9277cc21229b2898754a /meta | |
parent | 76b831cc11b1eaec365f27e7f4cd37777f088b45 (diff) | |
download | poky-817f9b5899e386f4dd2f01d73dbda20ece7713b3.tar.gz |
boost: update to 1.63.0
Drop backported 0002-boost-test-execution_monitor.hpp-fix-mips-soft-float.patch
Rebase consider-hardfp.patch to 0001-When-using-soft-float-on-ARM-we-should-not-expect-th.patch
(From OE-Core rev: ef603f41b5df4772bb598ec9d389dd5f858592af)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-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 \ |