summaryrefslogtreecommitdiff
path: root/meta-pkgs/boost
diff options
context:
space:
mode:
authormrg <mrg@pkgsrc.org>2015-08-09 07:59:04 +0000
committermrg <mrg@pkgsrc.org>2015-08-09 07:59:04 +0000
commit7c7a03968f92a0e1a9b93dd091ebd873312cc564 (patch)
tree19203cf8ea3ead47627bc7c20702daad5258c256 /meta-pkgs/boost
parent0684b5c4fbb1b436fab89b7e3542395b7068ddbc (diff)
downloadpkgsrc-7c7a03968f92a0e1a9b93dd091ebd873312cc564.tar.gz
some part of boost wants fence_before_store(), so implement it for sparc.
fixes the build of boost-libs on sparc64.
Diffstat (limited to 'meta-pkgs/boost')
-rw-r--r--meta-pkgs/boost/distinfo3
-rw-r--r--meta-pkgs/boost/patches/patch-boost_atomic_detail_ops_gcc_sparc.hpp31
2 files changed, 33 insertions, 1 deletions
diff --git a/meta-pkgs/boost/distinfo b/meta-pkgs/boost/distinfo
index c6db925f0f7..adb74a4d868 100644
--- a/meta-pkgs/boost/distinfo
+++ b/meta-pkgs/boost/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.80 2015/04/25 19:02:06 tnn Exp $
+$NetBSD: distinfo,v 1.81 2015/08/09 07:59:04 mrg Exp $
SHA1 (boost_1_58_0.tar.bz2) = 2fc96c1651ac6fe9859b678b165bd78dc211e881
RMD160 (boost_1_58_0.tar.bz2) = efc78b2b1a5d33ed72fcfa6688564c2fcd56772a
@@ -11,6 +11,7 @@ SHA1 (patch-ae) = ac2e4afcf243c2fee2394cfe3fe92f4890e9ab83
SHA1 (patch-ag) = 117eabbbbc26d04bb5e56df5ad92e55b5061c0f8
SHA1 (patch-aq) = 355a58864bf4d07617250d2587e0f7cf62a7b825
SHA1 (patch-ar) = 2fec2c51272cc4ee376e6538d8f1fd8561a7f0a3
+SHA1 (patch-boost_atomic_detail_ops_gcc_sparc.hpp) = a7dd240ff6f61368ae6a8500e7009021fa6cba71
SHA1 (patch-boost_config_posix__features.hpp) = c3e7187af35a2a25901b37388d3194e22d005323
SHA1 (patch-boost_config_stdlib_libcpp.hpp) = d243325d3aeb180e4ed7a1fd7d89782d832fa9fc
SHA1 (patch-boost_config_stdlib_libstdcpp3.hpp) = 52ebedd5e80b3a8c257eccb28cd2db76cb1ca01e
diff --git a/meta-pkgs/boost/patches/patch-boost_atomic_detail_ops_gcc_sparc.hpp b/meta-pkgs/boost/patches/patch-boost_atomic_detail_ops_gcc_sparc.hpp
new file mode 100644
index 00000000000..fec59956c11
--- /dev/null
+++ b/meta-pkgs/boost/patches/patch-boost_atomic_detail_ops_gcc_sparc.hpp
@@ -0,0 +1,31 @@
+$NetBSD: patch-boost_atomic_detail_ops_gcc_sparc.hpp,v 1.1 2015/08/09 07:59:05 mrg Exp $
+
+provide a fence_before_store() for sparc, which fixes the build.
+
+--- boost/atomic/detail/ops_gcc_sparc.hpp.orig 2015-08-09 05:20:41.000000000 +1000
++++ boost/atomic/detail/ops_gcc_sparc.hpp 2015-08-08 17:54:11.000000000 +1000
+@@ -34,6 +34,12 @@
+
+ struct gcc_sparc_cas_base
+ {
++ static BOOST_FORCEINLINE void fence_before_store(memory_order order) BOOST_NOEXCEPT
++ {
++ if ((order & memory_order_release) != 0)
++ hardware_full_fence();
++ }
++
+ static BOOST_FORCEINLINE void fence_before(memory_order order) BOOST_NOEXCEPT
+ {
+ if (order == memory_order_seq_cst)
+@@ -55,6 +61,11 @@
+ if (order == memory_order_seq_cst)
+ __asm__ __volatile__ ("membar #Sync" ::: "memory");
+ }
++
++ static BOOST_FORCEINLINE void hardware_full_fence() BOOST_NOEXCEPT
++ {
++ __asm__ __volatile__ ("membar #Sync" ::: "memory");
++ }
+ };
+
+ template< bool Signed >