package/boost: atomics needs always lockfree atomic bytes
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Sat, 5 Dec 2020 22:15:25 +0000 (23:15 +0100)
committerYann E. MORIN <yann.morin.1998@free.fr>
Sat, 2 Jan 2021 21:37:35 +0000 (22:37 +0100)
Since version 1.74.0, boost atomics needs a toolchain that always
supports lockfree atomic bytes so add dependendy on
BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS:
https://github.com/boostorg/atomic/issues/42

Fixes:
 - http://autobuild.buildroot.org/results/c03a786791e3aa7801cf1bff9934c4a105f54ce1

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[yann.morin.1998@free.fr:
  - add the new dependency as its own 'depends on' line
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/azmq/Config.in
package/bitcoin/Config.in
package/boost/Config.in
package/domoticz/Config.in
package/gnuradio/Config.in
package/gqrx/Config.in
package/libcpprestsdk/Config.in
package/uhd/Config.in

index 2904890d5f84c57b3299d97cd7dd6586c1dcbe0b..37131a260a72bb1fcced9ee59b80d40f980c702b 100644 (file)
@@ -5,6 +5,7 @@ config BR2_PACKAGE_AZMQ
        depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # boost-log
        depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
        depends on BR2_USE_WCHAR # boost
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
        select BR2_PACKAGE_ZEROMQ
        select BR2_PACKAGE_BOOST
@@ -21,6 +22,7 @@ config BR2_PACKAGE_AZMQ
          https://github.com/zeromq/azmq
 
 comment "azmq needs a toolchain w/ C++11, wchar and NPTL"
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \
                && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS_NPTL)
 
index 65af15293d1c6f7789157dd9b48e4f67e0910f49..7ce4f80656a06533a5b189f70a19b178c165229e 100644 (file)
@@ -10,6 +10,7 @@ config BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
 config BR2_PACKAGE_BITCOIN
        bool "bitcoin"
        depends on BR2_INSTALL_LIBSTDCPP
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
        depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
        depends on BR2_TOOLCHAIN_HAS_THREADS # boost
@@ -37,6 +38,7 @@ config BR2_PACKAGE_BITCOIN
 
 comment "bitcoin needs a toolchain w/ C++, threads, wchar"
        depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        depends on !BR2_INSTALL_LIBSTDCPP || \
                !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
 
index ba5bffd94e94cf211153f1edd51df971a7dd7038..09f8c7eb93304c31d9d1d33d70ce1ddebef0e386 100644 (file)
@@ -52,6 +52,7 @@ config BR2_PACKAGE_BOOST_LAYOUT
 
 config BR2_PACKAGE_BOOST_ATOMIC
        bool "boost-atomic"
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        help
          C++11-style atomic<>.
 
@@ -82,6 +83,8 @@ config BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
 config BR2_PACKAGE_BOOST_CONTEXT
        bool "boost-context"
        depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
+               || BR2_TOOLCHAIN_GCC_AT_LEAST_6 # boost-thread
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
        select BR2_PACKAGE_BOOST_THREAD if !BR2_TOOLCHAIN_GCC_AT_LEAST_6
        help
@@ -101,6 +104,7 @@ comment "boost-contract needs a toolchain w/ NPTL"
 config BR2_PACKAGE_BOOST_COROUTINE
        bool "boost-coroutine"
        depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context, boost-thread
        select BR2_PACKAGE_BOOST_CHRONO
        select BR2_PACKAGE_BOOST_CONTEXT
@@ -113,6 +117,7 @@ config BR2_PACKAGE_BOOST_COROUTINE
 
 comment "boost-coroutine needs a toolchain not affected by GCC bug 64735"
        depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 
 config BR2_PACKAGE_BOOST_DATE_TIME
@@ -135,6 +140,8 @@ config BR2_PACKAGE_BOOST_FIBER
        # mips support uses the "pause" instruction, only available
        # since mips32r2/mips64r2.
        depends on !BR2_MIPS_CPU_MIPS32 && !BR2_MIPS_CPU_MIPS64
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
+               || BR2_TOOLCHAIN_GCC_AT_LEAST_6 # boost-context -> boost-thread
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context
        select BR2_PACKAGE_BOOST_CONTEXT
        select BR2_PACKAGE_BOOST_FILESYSTEM
@@ -144,10 +151,14 @@ config BR2_PACKAGE_BOOST_FIBER
 
 comment "boost-fiber needs a toolchain w/ NPTL"
        depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
+               || BR2_TOOLCHAIN_GCC_AT_LEAST_6
        depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
 
 comment "boost-fiber needs a toolchain not affected by GCC bug 64735"
        depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
+               || BR2_TOOLCHAIN_GCC_AT_LEAST_6
        depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 
 config BR2_PACKAGE_BOOST_FILESYSTEM
@@ -190,6 +201,8 @@ config BR2_PACKAGE_BOOST_LOCALE
        # details.
        depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU)
        depends on !(BR2_TOOLCHAIN_HAS_GCC_BUG_64735 && BR2_PACKAGE_ICU) # boost-thread
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
+               || !BR2_PACKAGE_ICU # boost-thread
        select BR2_PACKAGE_BOOST_SYSTEM
        select BR2_PACKAGE_BOOST_THREAD if BR2_PACKAGE_ICU
        select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
@@ -197,16 +210,19 @@ config BR2_PACKAGE_BOOST_LOCALE
          Provide localization and Unicode handling tools for C++.
 
 comment "boost-locale needs a toolchain w/ dynamic library"
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        depends on BR2_PACKAGE_ICU
        depends on BR2_STATIC_LIBS
 
 comment "boost-locale needs a toolchain not affected by GCC bug 64735"
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        depends on BR2_PACKAGE_ICU
        depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 
 config BR2_PACKAGE_BOOST_LOG
        bool "boost-log"
        depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
        select BR2_PACKAGE_BOOST_ATOMIC
        select BR2_PACKAGE_BOOST_DATE_TIME
@@ -218,6 +234,7 @@ config BR2_PACKAGE_BOOST_LOG
          Logging library.
 
 comment "boost-log needs a toolchain w/ NPTL"
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
 
 comment "boost-log needs a toolchain not affected by GCC bug 64735"
@@ -318,8 +335,8 @@ config BR2_PACKAGE_BOOST_TEST
 
 config BR2_PACKAGE_BOOST_THREAD
        bool "boost-thread"
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception
-       select BR2_PACKAGE_BOOST_ATOMIC if !BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        select BR2_PACKAGE_BOOST_CHRONO
        select BR2_PACKAGE_BOOST_SYSTEM
        help
@@ -337,6 +354,7 @@ config BR2_PACKAGE_BOOST_TIMER
 
 config BR2_PACKAGE_BOOST_TYPE_ERASURE
        bool "boost-type_erasure"
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
        select BR2_PACKAGE_BOOST_SYSTEM
        select BR2_PACKAGE_BOOST_THREAD
@@ -351,6 +369,7 @@ config BR2_PACKAGE_BOOST_WAVE
        # limitation of assembler for coldfire
        # error: Tried to convert PC relative branch to absolute jump
        depends on !BR2_m68k_cf
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
        select BR2_PACKAGE_BOOST_DATE_TIME
        select BR2_PACKAGE_BOOST_FILESYSTEM
index 642d394828762d66a6afcf3b85174d11c15dbfb8..88de232642dc1ef67a5f9cd13775502554cf9194 100644 (file)
@@ -8,6 +8,7 @@ config BR2_PACKAGE_DOMOTICZ
        depends on BR2_INSTALL_LIBSTDCPP
        depends on BR2_USE_WCHAR
        depends on BR2_PACKAGE_LUA_5_3
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
        select BR2_PACKAGE_BOOST
        select BR2_PACKAGE_BOOST_DATE_TIME
@@ -30,6 +31,7 @@ config BR2_PACKAGE_DOMOTICZ
 
 comment "domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 4.8, NPTL, wchar, dynamic library"
        depends on BR2_USE_MMU
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        depends on !BR2_INSTALL_LIBSTDCPP || \
                !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \
                !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
index cd31ce8864b544a8d81f479f910b372a76f2f1a1..c7b01b454b53c2d623070b05232787a6f8da3b46 100644 (file)
@@ -1,5 +1,6 @@
 comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library"
        depends on BR2_USE_MMU
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
                !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
 
@@ -13,6 +14,7 @@ config BR2_PACKAGE_GNURADIO
        depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
        depends on BR2_USE_MMU # use fork()
        depends on BR2_USE_WCHAR # boost
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
        select BR2_PACKAGE_BOOST
        select BR2_PACKAGE_BOOST_ATOMIC
index d873c6a4d4212319dcc3a0173337b32241d7a339..af4d69381e74a689b9c6a405c578b2718d4145d9 100644 (file)
@@ -1,6 +1,7 @@
 comment "gqrx needs a toolchain w/ C++, threads, wchar, dynamic library"
        depends on BR2_USE_MMU # gnuradio
        depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
                !BR2_USE_WCHAR || !BR2_STATIC_LIBS
 
@@ -19,6 +20,7 @@ config BR2_PACKAGE_GQRX
        depends on BR2_USE_WCHAR # boost
        depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
        depends on BR2_PACKAGE_QT5
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # gnuradio -> boost-atomic
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # gnuradio
        select BR2_PACKAGE_BOOST
        select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
index af97509d1ba19e31e87562032009f2a280114320..97f00e338399d4477d60a3649431d41f710169b6 100644 (file)
@@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBCPPRESTSDK
        depends on BR2_ENABLE_LOCALE
        depends on BR2_INSTALL_LIBSTDCPP
        depends on BR2_USE_WCHAR # boost
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
        depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
        select BR2_PACKAGE_BOOST
@@ -23,6 +24,7 @@ config BR2_PACKAGE_LIBCPPRESTSDK
          https://github.com/Microsoft/cpprestsdk
 
 comment "libcpprestsdk needs a toolchain w/ NPTL, C++, wchar, locale"
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
                !BR2_INSTALL_LIBSTDCPP || \
                !BR2_USE_WCHAR || !BR2_ENABLE_LOCALE
index 8b92a42f62828a71a84d61c88651d6d6238227cb..6715f1f10b42bfc5d2ba8cc1854b6ce68a656019 100644 (file)
@@ -1,5 +1,6 @@
 comment "uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library"
        depends on BR2_USE_MMU
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
        depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
                !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
 
@@ -10,6 +11,7 @@ config BR2_PACKAGE_UHD
        bool "uhd"
        depends on BR2_INSTALL_LIBSTDCPP
        depends on !BR2_STATIC_LIBS
+       depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
        depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
        depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
        depends on BR2_USE_MMU # use fork()