boost: thread needs atomic if GCC hasn't lock-free
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Fri, 17 Aug 2018 22:10:14 +0000 (00:10 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sat, 18 Aug 2018 12:34:31 +0000 (14:34 +0200)
When gcc has not always lock-free atomic ints:
 - lockfree boost::atomic_flag : no

boost thread needs boost atomic:
output/host/usr/bin/nios2-linux-readelf -d output/staging/usr/lib/libboost_thread.so

Dynamic section at offset 0x2cee0 contains 32 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]
 0x00000001 (NEEDED)                     Shared library: [libboost_atomic.so.1.67.0]

Fixes:
 - http://autobuild.buildroot.net/results/5a7db292f1365f27e32695527701d5b827f60092
 - http://autobuild.buildroot.net/results/413dff87f5329d3c5180167a8711cdedea5dec67
 - http://autobuild.buildroot.net/results/a7eb4cbcdbd9412c344f45336dec58c82e84dab9

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/boost/Config.in

index 97695e17b7c69b60b4aa91c57189021c9cfbad2a..57e98c72e4916a63caadcb167587bb1f8b9263c3 100644 (file)
@@ -313,6 +313,7 @@ config BR2_PACKAGE_BOOST_TEST
 
 config BR2_PACKAGE_BOOST_THREAD
        bool "boost-thread"
+       select BR2_PACKAGE_BOOST_ATOMIC if !BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        select BR2_PACKAGE_BOOST_CHRONO
        select BR2_PACKAGE_BOOST_SYSTEM
        help