diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-support/boost/boost')
3 files changed, 119 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-support/boost/boost/0001-Do-not-qualify-fenv.h-names-that-might-be-macros.patch b/import-layers/yocto-poky/meta/recipes-support/boost/boost/0001-Do-not-qualify-fenv.h-names-that-might-be-macros.patch new file mode 100644 index 000000000..df7e71fea --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-support/boost/boost/0001-Do-not-qualify-fenv.h-names-that-might-be-macros.patch @@ -0,0 +1,45 @@ +From f50e7bc9fed323c5705c0ed992c03e80eeec1dd6 Mon Sep 17 00:00:00 2001 +From: Jonathan Wakely <jwakely@redhat.com> +Date: Mon, 14 Sep 2015 15:05:24 +0100 +Subject: [PATCH] Do not qualify <fenv.h> names that might be macros. + +The patch was imported from the boost-test git repository +(https://github.com/boostorg/test) as of commit id +f50e7bc9fed323c5705c0ed992c03e80eeec1dd6. + +Upstream-Status: Accepted [commit f50e7bc9fed in develop branch] + +Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de> +--- + include/boost/test/impl/execution_monitor.ipp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/include/boost/test/impl/execution_monitor.ipp b/include/boost/test/impl/execution_monitor.ipp +index b3e873e..a7bdce2 100644 +--- a/include/boost/test/impl/execution_monitor.ipp ++++ b/include/boost/test/impl/execution_monitor.ipp +@@ -1380,8 +1380,8 @@ enable( unsigned mask ) + + return ~old_cw & BOOST_FPE_ALL; + #elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) +- ::feclearexcept(BOOST_FPE_ALL); +- int res = ::feenableexcept( mask ); ++ feclearexcept(BOOST_FPE_ALL); ++ int res = feenableexcept( mask ); + return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res; + #else + /* Not Implemented */ +@@ -1417,8 +1417,8 @@ disable( unsigned mask ) + + return ~old_cw & BOOST_FPE_ALL; + #elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) +- ::feclearexcept(BOOST_FPE_ALL); +- int res = ::fedisableexcept( mask ); ++ feclearexcept(BOOST_FPE_ALL); ++ int res = fedisableexcept( mask ); + return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res; + #else + /* Not Implemented */ +-- +1.9.1 + diff --git a/import-layers/yocto-poky/meta/recipes-support/boost/boost/arm-intrinsics.patch b/import-layers/yocto-poky/meta/recipes-support/boost/boost/arm-intrinsics.patch new file mode 100644 index 000000000..fe85c69a8 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-support/boost/boost/arm-intrinsics.patch @@ -0,0 +1,55 @@ +Upstream-Status: Backport + +8/17/2010 - rebased to 1.44 by Qing He <qing.he@intel.com> + +diff --git a/boost/smart_ptr/detail/atomic_count_sync.hpp b/boost/smart_ptr/detail/atomic_count_sync.hpp +index b6359b5..78b1cc2 100644 +--- a/boost/smart_ptr/detail/atomic_count_sync.hpp ++++ b/boost/smart_ptr/detail/atomic_count_sync.hpp +@@ -33,17 +33,46 @@ public: + + long operator++() + { ++#ifdef __ARM_ARCH_7A__ ++ int v1, tmp; ++ asm volatile ("1: \n\t" ++ "ldrex %0, %1 \n\t" ++ "add %0 ,%0, #1 \n\t" ++ "strex %2, %0, %1 \n\t" ++ "cmp %2, #0 \n\t" ++ "bne 1b \n\t" ++ : "=&r" (v1), "+Q"(value_), "=&r"(tmp) ++ ); ++#else + return __sync_add_and_fetch( &value_, 1 ); ++#endif + } + + long operator--() + { ++#ifdef __ARM_ARCH_7A__ ++ int v1, tmp; ++ asm volatile ("1: \n\t" ++ "ldrex %0, %1 \n\t" ++ "sub %0 ,%0, #1 \n\t" ++ "strex %2, %0, %1 \n\t" ++ "cmp %2, #0 \n\t" ++ "bne 1b \n\t" ++ : "=&r" (v1), "+Q"(value_), "=&r"(tmp) ++ ); ++ return value_; ++#else + return __sync_add_and_fetch( &value_, -1 ); ++#endif + } + + operator long() const + { ++#if __ARM_ARCH_7A__ ++ return value_; ++#else + return __sync_fetch_and_add( &value_, 0 ); ++#endif + } + + private: diff --git a/import-layers/yocto-poky/meta/recipes-support/boost/boost/consider-hardfp.patch b/import-layers/yocto-poky/meta/recipes-support/boost/boost/consider-hardfp.patch new file mode 100644 index 000000000..66808a69d --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-support/boost/boost/consider-hardfp.patch @@ -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, |