[oe] patch to boost package

Frank Black rolles.dump at gmail.com
Thu Jun 25 22:21:42 UTC 2009


I tried building boost 1.36.0 for my armv5te processor. Problem is there is
no support for the function "__sync_add_and_fetch" called from
detail/atomic_count_sync.hpp. There are two patches which both fails to
resolve this for me.

1: arm-instrinct.patch. This requires __ARM_ARCH_7A__ to be defined, which
is not good for me on an armv5te.
2: atomic_count_gcc_atomicity.patch: Works, however problem is that
atomic_count.hpp contains #defines that always #includes
atomic_count_sync.hpp instead of atomic_count_gcc.hpp, so the patch has no
effect

I solved this by applying a really ugly patch (see below) that makes sure
atomic_count_sync.hpp is never used. Im sure therre is a better way to do it
but I'm not at all familiar what kind of ARM-specific defines you got to
play around with. Maybe someone has more in-depth knowledge abot this?



 --- boost_1_33_1.orig/boost/detail/atomic_count.hpp    2007-11-23
18:03:14.000000000 +0100
+++ boost_1_33_1/boost/detail/atomic_count.hpp        2009-06-25
23:07:10.000000000 +0200
@@ -101,10 +101,10 @@

 #  include <boost/detail/atomic_count_win32.hpp>

-#elif defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 )
+/*#elif defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 )

 #  include <boost/detail/atomic_count_sync.hpp>
-
+*/
 #elif defined(__GLIBCPP__) || defined(__GLIBCXX__)

 #  include <boost/detail/atomic_count_gcc.hpp>


/ Rolle



More information about the Openembedded-devel mailing list