diff options
author | Alexander Kanavin <alex.kanavin@gmail.com> | 2018-09-06 12:29:22 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-09-10 12:13:06 +0100 |
commit | f82ede63633de6c7c3d1c3a29215f88c44174e11 (patch) | |
tree | a25da416685e8ae838063b89497b3f32811a2d6f | |
parent | 67b4b7ec951932caaf62f3f091b24369acc9c68f (diff) | |
download | poky-f82ede63633de6c7c3d1c3a29215f88c44174e11.tar.gz |
boost: update to 1.68.0
(From OE-Core rev: fb646ea311c589a51ef76eea7581e63f8a8f6bbd)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-support/boost/bjam-native_1.68.0.bb (renamed from meta/recipes-support/boost/bjam-native_1.67.0.bb) | 0 | ||||
-rw-r--r-- | meta/recipes-support/boost/boost-1.68.0.inc (renamed from meta/recipes-support/boost/boost-1.67.0.inc) | 4 | ||||
-rw-r--r-- | meta/recipes-support/boost/boost/0001-Removed-clang-specific-branch-for-x86-DCAS-based-loa.patch | 76 | ||||
-rw-r--r-- | meta/recipes-support/boost/boost_1.68.0.bb (renamed from meta/recipes-support/boost/boost_1.67.0.bb) | 1 |
4 files changed, 2 insertions, 79 deletions
diff --git a/meta/recipes-support/boost/bjam-native_1.67.0.bb b/meta/recipes-support/boost/bjam-native_1.68.0.bb index 94f96e62d8..94f96e62d8 100644 --- a/meta/recipes-support/boost/bjam-native_1.67.0.bb +++ b/meta/recipes-support/boost/bjam-native_1.68.0.bb | |||
diff --git a/meta/recipes-support/boost/boost-1.67.0.inc b/meta/recipes-support/boost/boost-1.68.0.inc index 1c7f94022d..b367a80b64 100644 --- a/meta/recipes-support/boost/boost-1.67.0.inc +++ b/meta/recipes-support/boost/boost-1.68.0.inc | |||
@@ -12,8 +12,8 @@ BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}" | |||
12 | BOOST_P = "boost_${BOOST_VER}" | 12 | 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 | SRC_URI[md5sum] = "ced776cb19428ab8488774e1415535ab" | 15 | SRC_URI[md5sum] = "7fbd1890f571051f2a209681d57d486a" |
16 | SRC_URI[sha256sum] = "2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba" | 16 | SRC_URI[sha256sum] = "7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7" |
17 | 17 | ||
18 | UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/" | 18 | UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/" |
19 | UPSTREAM_CHECK_REGEX = "boostorg/release/(?P<pver>.*)/source/" | 19 | UPSTREAM_CHECK_REGEX = "boostorg/release/(?P<pver>.*)/source/" |
diff --git a/meta/recipes-support/boost/boost/0001-Removed-clang-specific-branch-for-x86-DCAS-based-loa.patch b/meta/recipes-support/boost/boost/0001-Removed-clang-specific-branch-for-x86-DCAS-based-loa.patch deleted file mode 100644 index 182693079a..0000000000 --- a/meta/recipes-support/boost/boost/0001-Removed-clang-specific-branch-for-x86-DCAS-based-loa.patch +++ /dev/null | |||
@@ -1,76 +0,0 @@ | |||
1 | From 39b027171e0a619d49b9dd2e8471d10b6c41bc25 Mon Sep 17 00:00:00 2001 | ||
2 | From: Andrey Semashev <andrey.semashev@gmail.com> | ||
3 | Date: Tue, 17 Jul 2018 12:37:29 +0300 | ||
4 | Subject: [PATCH] Removed clang-specific branch for x86 DCAS-based loads. | ||
5 | |||
6 | The storage to load from is const-qualified and DCAS via compiler intrinsics | ||
7 | require an unqualified pointer. Use asm implementation instead, which should be | ||
8 | as efficient as intrinsics, if not better, in this case. | ||
9 | |||
10 | Fixes https://github.com/boostorg/atomic/issues/15. | ||
11 | |||
12 | Upstream-Status: Backport [https://github.com/boostorg/atomic/commit/6e14ca24dab50ad4c1fa8c27c7dd6f1cb791b534] | ||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | --- | ||
15 | boost/atomic/detail/ops_gcc_x86_dcas.hpp | 23 ++++++++++++----------- | ||
16 | 1 file changed, 12 insertions(+), 11 deletions(-) | ||
17 | |||
18 | diff --git a/boost/atomic/detail/ops_gcc_x86_dcas.hpp b/boost/atomic/detail/ops_gcc_x86_dcas.hpp | ||
19 | index 4dacc66f..b43ef23a 100644 | ||
20 | --- a/boost/atomic/detail/ops_gcc_x86_dcas.hpp | ||
21 | +++ b/boost/atomic/detail/ops_gcc_x86_dcas.hpp | ||
22 | @@ -158,11 +158,13 @@ struct gcc_dcas_x86 | ||
23 | } | ||
24 | else | ||
25 | { | ||
26 | -#if defined(__clang__) | ||
27 | - // Clang cannot allocate eax:edx register pairs but it has sync intrinsics | ||
28 | - value = __sync_val_compare_and_swap(&storage, (storage_type)0, (storage_type)0); | ||
29 | -#elif defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS) | ||
30 | + // Note that despite const qualification cmpxchg8b below may issue a store to the storage. The storage value | ||
31 | + // will not change, but this prevents the storage to reside in read-only memory. | ||
32 | + | ||
33 | +#if defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS) | ||
34 | + | ||
35 | uint32_t value_bits[2]; | ||
36 | + | ||
37 | // We don't care for comparison result here; the previous value will be stored into value anyway. | ||
38 | // Also we don't care for ebx and ecx values, they just have to be equal to eax and edx before cmpxchg8b. | ||
39 | __asm__ __volatile__ | ||
40 | @@ -175,7 +177,9 @@ struct gcc_dcas_x86 | ||
41 | : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" | ||
42 | ); | ||
43 | BOOST_ATOMIC_DETAIL_MEMCPY(&value, value_bits, sizeof(value)); | ||
44 | + | ||
45 | #else // defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS) | ||
46 | + | ||
47 | // We don't care for comparison result here; the previous value will be stored into value anyway. | ||
48 | // Also we don't care for ebx and ecx values, they just have to be equal to eax and edx before cmpxchg8b. | ||
49 | __asm__ __volatile__ | ||
50 | @@ -187,6 +191,7 @@ struct gcc_dcas_x86 | ||
51 | : [storage] "m" (storage) | ||
52 | : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" | ||
53 | ); | ||
54 | + | ||
55 | #endif // defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS) | ||
56 | } | ||
57 | |||
58 | @@ -401,15 +406,11 @@ struct gcc_dcas_x86_64 | ||
59 | |||
60 | static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order) BOOST_NOEXCEPT | ||
61 | { | ||
62 | -#if defined(__clang__) | ||
63 | + // Note that despite const qualification cmpxchg16b below may issue a store to the storage. The storage value | ||
64 | + // will not change, but this prevents the storage to reside in read-only memory. | ||
65 | |||
66 | - // Clang cannot allocate rax:rdx register pairs but it has sync intrinsics | ||
67 | - storage_type value = storage_type(); | ||
68 | - return __sync_val_compare_and_swap(&storage, value, value); | ||
69 | - | ||
70 | -#elif defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS) | ||
71 | +#if defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS) | ||
72 | |||
73 | - // Some compilers can't allocate rax:rdx register pair either and also don't support 128-bit __sync_val_compare_and_swap | ||
74 | uint64_t value_bits[2]; | ||
75 | |||
76 | // We don't care for comparison result here; the previous value will be stored into value anyway. | ||
diff --git a/meta/recipes-support/boost/boost_1.67.0.bb b/meta/recipes-support/boost/boost_1.68.0.bb index ef178edc0c..c7958a4c5e 100644 --- a/meta/recipes-support/boost/boost_1.67.0.bb +++ b/meta/recipes-support/boost/boost_1.68.0.bb | |||
@@ -8,5 +8,4 @@ SRC_URI += "\ | |||
8 | file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch \ | 8 | file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch \ |
9 | file://0003-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \ | 9 | file://0003-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \ |
10 | file://0001-make_x86_64_sysv_elf_gas.S-set-.file-section.patch \ | 10 | file://0001-make_x86_64_sysv_elf_gas.S-set-.file-section.patch \ |
11 | file://0001-Removed-clang-specific-branch-for-x86-DCAS-based-loa.patch \ | ||
12 | " | 11 | " |