* [Buildroot] [PATCH v2] package/boost: Boost.Atomic needs atomic intrinsics
@ 2022-12-23 13:34 Michael Nosthoff via buildroot
2024-07-13 9:36 ` Arnout Vandecappelle via buildroot
0 siblings, 1 reply; 3+ messages in thread
From: Michael Nosthoff via buildroot @ 2022-12-23 13:34 UTC (permalink / raw)
To: buildroot
Cc: Bernd Kuhls, Marcin Bis, Bartosz Golaszewski,
Gwenhael Goavec-Merou, Fabrice Fontaine, Maxim Kochetkov,
Thomas Petazzoni, Fabio Urquiza, Romain Naour, Fabrice Fontaine
From: Michael <buildroot@heine.tech>
similar to previous problems with nios2 and not-available atomic ints
the build for Boost.Atomics also fails for ARC Targets which don't
have the ATOMICS_EXT flag set.
according to [0] "Boost.Atomic has a hard requirement of the native
atomic operations on bytes". The same tests mentioned there fail for
ARC.
so introduce a dependency on BR2_ARC_ATOMIC_EXT for BR2_arc.
add depends clause for all packages using boost-atomic/filesystem.
Fixes:
http://autobuild.buildroot.net/results/4ca54a85672d7b9328b1909b457e548c6032a493
[0] https://github.com/boostorg/atomic/issues/42#issuecomment-734130348
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
---
I'm not 100% sure if BR2_ARC_ATOMIC_EXT is the correct
flag to use. I'm open to suggestions for better ways and what to
propagate to dependent packages.
---
package/bitcoin/Config.in | 1 +
package/boost/Config.in | 4 ++++
package/botan/Config.in | 4 ++--
package/cc-tool/Config.in | 2 ++
package/domoticz/Config.in | 4 +++-
package/gnuradio/Config.in | 1 +
package/gqrx/Config.in | 1 +
package/i2pd/Config.in | 3 +++
package/libcpprestsdk/Config.in | 1 +
package/log4cxx/Config.in | 1 +
package/mongodb/Config.in | 1 +
package/osm2pgsql/Config.in | 2 ++
package/pulseview/Config.in | 2 ++
package/supertux/Config.in | 2 ++
package/uhd/Config.in | 2 ++
15 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/package/bitcoin/Config.in b/package/bitcoin/Config.in
index a344811d6b..d46e8df9bc 100644
--- a/package/bitcoin/Config.in
+++ b/package/bitcoin/Config.in
@@ -11,6 +11,7 @@ config BR2_PACKAGE_BITCOIN
bool "bitcoin"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread, boost-filesystem
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS # boost
diff --git a/package/boost/Config.in b/package/boost/Config.in
index b99b01f22e..d06f164a39 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -19,6 +19,7 @@ if BR2_PACKAGE_BOOST
config BR2_PACKAGE_BOOST_ATOMIC
bool "boost-atomic"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
help
C++11-style atomic<>.
@@ -108,6 +109,7 @@ config BR2_PACKAGE_BOOST_FIBER
# since mips32r2/mips64r2.
depends on !BR2_MIPS_CPU_MIPS32 && !BR2_MIPS_CPU_MIPS64
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-filesystem
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context
select BR2_PACKAGE_BOOST_CONTEXT
select BR2_PACKAGE_BOOST_FILESYSTEM
@@ -129,6 +131,7 @@ comment "boost-fiber needs a toolchain not affected by GCC bug 64735"
config BR2_PACKAGE_BOOST_FILESYSTEM
bool "boost-filesystem"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic
select BR2_PACKAGE_BOOST_ATOMIC
select BR2_PACKAGE_BOOST_SYSTEM
help
@@ -200,6 +203,7 @@ 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_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
select BR2_PACKAGE_BOOST_ATOMIC
select BR2_PACKAGE_BOOST_DATE_TIME
diff --git a/package/botan/Config.in b/package/botan/Config.in
index 8f7f3f5c7a..9c35484275 100644
--- a/package/botan/Config.in
+++ b/package/botan/Config.in
@@ -18,8 +18,8 @@ config BR2_PACKAGE_BOTAN
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
- select BR2_PACKAGE_BOOST_FILESYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
- select BR2_PACKAGE_BOOST_SYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ select BR2_PACKAGE_BOOST_FILESYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS && !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
+ select BR2_PACKAGE_BOOST_SYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS && !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
help
Botan is a crypto library for C++
diff --git a/package/cc-tool/Config.in b/package/cc-tool/Config.in
index fa5674b36d..5dca40cbbb 100644
--- a/package/cc-tool/Config.in
+++ b/package/cc-tool/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_CC_TOOL
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
depends on BR2_USE_WCHAR # boost-filesystem
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb
select BR2_PACKAGE_LIBUSB
@@ -20,6 +21,7 @@ config BR2_PACKAGE_CC_TOOL
comment "cc-tool needs a toolchain w/ C++, threads, wchar, gcc >= 4.9 "
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
depends on !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
diff --git a/package/domoticz/Config.in b/package/domoticz/Config.in
index 85361eecf0..bb4e49bf9a 100644
--- a/package/domoticz/Config.in
+++ b/package/domoticz/Config.in
@@ -8,7 +8,8 @@ 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_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread, boost-atomic
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_ATOMIC
@@ -36,6 +37,7 @@ config BR2_PACKAGE_DOMOTICZ
comment "domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 6, NPTL, wchar, dynamic library"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
depends on !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_6 || \
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in
index 103175946c..3766470cf7 100644
--- a/package/gnuradio/Config.in
+++ b/package/gnuradio/Config.in
@@ -16,6 +16,7 @@ config BR2_PACKAGE_GNURADIO
depends on BR2_USE_MMU # use fork()
depends on BR2_USE_WCHAR # boost
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-filesystem
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_43744
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
select BR2_PACKAGE_BOOST
diff --git a/package/gqrx/Config.in b/package/gqrx/Config.in
index adcdbb0896..fd4274f3a0 100644
--- a/package/gqrx/Config.in
+++ b/package/gqrx/Config.in
@@ -21,6 +21,7 @@ config BR2_PACKAGE_GQRX
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_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_43744 # gnuradio
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # gnuradio
select BR2_PACKAGE_BOOST
diff --git a/package/i2pd/Config.in b/package/i2pd/Config.in
index c1ba08ef75..6076d43837 100644
--- a/package/i2pd/Config.in
+++ b/package/i2pd/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_I2PD
# pthread_condattr_setclock
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # boost
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
@@ -30,6 +31,7 @@ comment "i2pd needs a toolchain w/ C++, NPTL, wchar"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
depends on !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR
@@ -37,4 +39,5 @@ comment "i2pd needs exception_ptr"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
diff --git a/package/libcpprestsdk/Config.in b/package/libcpprestsdk/Config.in
index e533b30393..58818978d7 100644
--- a/package/libcpprestsdk/Config.in
+++ b/package/libcpprestsdk/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_LIBCPPRESTSDK
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # boost
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-filesystem
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
select BR2_PACKAGE_BOOST
diff --git a/package/log4cxx/Config.in b/package/log4cxx/Config.in
index 27a5f06988..34e54e90be 100644
--- a/package/log4cxx/Config.in
+++ b/package/log4cxx/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_LOG4CXX
depends on BR2_USE_MMU # apr
depends on BR2_USE_WCHAR || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost-thread
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost-atomic
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost-thread
select BR2_PACKAGE_APR
select BR2_PACKAGE_APR_UTIL
diff --git a/package/mongodb/Config.in b/package/mongodb/Config.in
index 1ea4282573..4053e4dbdb 100644
--- a/package/mongodb/Config.in
+++ b/package/mongodb/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_MONGODB_ARCH_SUPPORTS
default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5
default y if BR2_aarch64 || BR2_x86_64
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
config BR2_PACKAGE_MONGODB
bool "mongodb"
diff --git a/package/osm2pgsql/Config.in b/package/osm2pgsql/Config.in
index e903e92c49..834cfb5a93 100644
--- a/package/osm2pgsql/Config.in
+++ b/package/osm2pgsql/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_OSM2PGSQL
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
depends on BR2_TOOLCHAIN_HAS_THREADS # boost, libosmium
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
depends on BR2_USE_WCHAR # boost, libosmium
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
select BR2_PACKAGE_BOOST
@@ -24,6 +25,7 @@ config BR2_PACKAGE_OSM2PGSQL
comment "osm2pgsql needs a toolchain w/ C++, wchar, threads, gcc >= 4.9"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/pulseview/Config.in b/package/pulseview/Config.in
index f122551b9f..0bec0594ab 100644
--- a/package/pulseview/Config.in
+++ b/package/pulseview/Config.in
@@ -5,6 +5,7 @@ config BR2_PACKAGE_PULSEVIEW
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
depends on BR2_USE_MMU
depends on BR2_INSTALL_LIBSTDCPP
# libsigrok->libzip
@@ -34,6 +35,7 @@ comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library,
depends on BR2_USE_MMU
depends on BR2_PACKAGE_QT5
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \
|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
|| BR2_STATIC_LIBS || !BR2_ENABLE_LOCALE || \
diff --git a/package/supertux/Config.in b/package/supertux/Config.in
index e8e96a3ae5..62d2d67c7b 100644
--- a/package/supertux/Config.in
+++ b/package/supertux/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_SUPERTUX
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # C++14
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
depends on BR2_USE_MMU # SDL2 OpenGL (GLX)
depends on !BR2_STATIC_LIBS # SDL2
depends on BR2_USE_WCHAR # Boost
@@ -40,6 +41,7 @@ comment "supertux needs OpenGL and a toolchain w/ C++, gcc >= 6, NPTL, dynamic l
depends on BR2_PACKAGE_XORG7
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_HAS_LIBGL || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_6 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
BR2_STATIC_LIBS || !BR2_USE_WCHAR
diff --git a/package/uhd/Config.in b/package/uhd/Config.in
index 75554259d0..4514c9529b 100644
--- a/package/uhd/Config.in
+++ b/package/uhd/Config.in
@@ -1,6 +1,7 @@
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_arc && !BR2_ARC_ATOMIC_EXT)
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
@@ -12,6 +13,7 @@ config BR2_PACKAGE_UHD
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-filesystem
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_USE_MMU # use fork()
--
2.37.1 (Apple Git-137.1)
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH v2] package/boost: Boost.Atomic needs atomic intrinsics
2022-12-23 13:34 [Buildroot] [PATCH v2] package/boost: Boost.Atomic needs atomic intrinsics Michael Nosthoff via buildroot
@ 2024-07-13 9:36 ` Arnout Vandecappelle via buildroot
2024-08-09 19:34 ` Peter Korsgaard
0 siblings, 1 reply; 3+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2024-07-13 9:36 UTC (permalink / raw)
To: Michael Nosthoff, buildroot
Cc: Bernd Kuhls, Marcin Bis, Bartosz Golaszewski,
Gwenhael Goavec-Merou, Fabrice Fontaine, Maxim Kochetkov,
Thomas Petazzoni, Fabio Urquiza, Romain Naour, Fabrice Fontaine
On 23/12/2022 14:34, Michael Nosthoff via buildroot wrote:
> From: Michael <buildroot@heine.tech>
>
> similar to previous problems with nios2 and not-available atomic ints
> the build for Boost.Atomics also fails for ARC Targets which don't
> have the ATOMICS_EXT flag set.
>
> according to [0] "Boost.Atomic has a hard requirement of the native
> atomic operations on bytes". The same tests mentioned there fail for
> ARC.
Based on that comment, the option
BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS was introduced. So that one
should have been used instead.
>
> so introduce a dependency on BR2_ARC_ATOMIC_EXT for BR2_arc.
>
> add depends clause for all packages using boost-atomic/filesystem.
>
> Fixes:
> http://autobuild.buildroot.net/results/4ca54a85672d7b9328b1909b457e548c6032a493
>
> [0] https://github.com/boostorg/atomic/issues/42#issuecomment-734130348
>
> Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
I changed the entire patch to this:
diff --git a/toolchain/Config.in b/toolchain/Config.in
index 1aa17cbfbd..8acdc62fc2 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -94,6 +94,7 @@ config BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on !BR2_ARM_CPU_ARMV5
depends on !BR2_sparc_v8
depends on !BR2_m68k_cf5208
+ depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
# GCC uses thunk functions to adjust the 'this' pointer when calling
# C++ member functions in classes derived with multiple inheritance.
and applied to master, thanks.
Regards,
Arnout
>
> ---
>
> I'm not 100% sure if BR2_ARC_ATOMIC_EXT is the correct
> flag to use. I'm open to suggestions for better ways and what to
> propagate to dependent packages.
> ---
> package/bitcoin/Config.in | 1 +
> package/boost/Config.in | 4 ++++
> package/botan/Config.in | 4 ++--
> package/cc-tool/Config.in | 2 ++
> package/domoticz/Config.in | 4 +++-
> package/gnuradio/Config.in | 1 +
> package/gqrx/Config.in | 1 +
> package/i2pd/Config.in | 3 +++
> package/libcpprestsdk/Config.in | 1 +
> package/log4cxx/Config.in | 1 +
> package/mongodb/Config.in | 1 +
> package/osm2pgsql/Config.in | 2 ++
> package/pulseview/Config.in | 2 ++
> package/supertux/Config.in | 2 ++
> package/uhd/Config.in | 2 ++
> 15 files changed, 28 insertions(+), 3 deletions(-)
>
> diff --git a/package/bitcoin/Config.in b/package/bitcoin/Config.in
> index a344811d6b..d46e8df9bc 100644
> --- a/package/bitcoin/Config.in
> +++ b/package/bitcoin/Config.in
> @@ -11,6 +11,7 @@ config BR2_PACKAGE_BITCOIN
> bool "bitcoin"
> depends on BR2_INSTALL_LIBSTDCPP
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread, boost-filesystem
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
> depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
> depends on BR2_TOOLCHAIN_HAS_THREADS # boost
> diff --git a/package/boost/Config.in b/package/boost/Config.in
> index b99b01f22e..d06f164a39 100644
> --- a/package/boost/Config.in
> +++ b/package/boost/Config.in
> @@ -19,6 +19,7 @@ if BR2_PACKAGE_BOOST
> config BR2_PACKAGE_BOOST_ATOMIC
> bool "boost-atomic"
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
> help
> C++11-style atomic<>.
>
> @@ -108,6 +109,7 @@ config BR2_PACKAGE_BOOST_FIBER
> # since mips32r2/mips64r2.
> depends on !BR2_MIPS_CPU_MIPS32 && !BR2_MIPS_CPU_MIPS64
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-filesystem
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context
> select BR2_PACKAGE_BOOST_CONTEXT
> select BR2_PACKAGE_BOOST_FILESYSTEM
> @@ -129,6 +131,7 @@ comment "boost-fiber needs a toolchain not affected by GCC bug 64735"
> config BR2_PACKAGE_BOOST_FILESYSTEM
> bool "boost-filesystem"
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic
> select BR2_PACKAGE_BOOST_ATOMIC
> select BR2_PACKAGE_BOOST_SYSTEM
> help
> @@ -200,6 +203,7 @@ 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_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
> select BR2_PACKAGE_BOOST_ATOMIC
> select BR2_PACKAGE_BOOST_DATE_TIME
> diff --git a/package/botan/Config.in b/package/botan/Config.in
> index 8f7f3f5c7a..9c35484275 100644
> --- a/package/botan/Config.in
> +++ b/package/botan/Config.in
> @@ -18,8 +18,8 @@ config BR2_PACKAGE_BOTAN
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
> - select BR2_PACKAGE_BOOST_FILESYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> - select BR2_PACKAGE_BOOST_SYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> + select BR2_PACKAGE_BOOST_FILESYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS && !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
> + select BR2_PACKAGE_BOOST_SYSTEM if BR2_PACKAGE_BOOST && BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS && !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
> help
> Botan is a crypto library for C++
>
> diff --git a/package/cc-tool/Config.in b/package/cc-tool/Config.in
> index fa5674b36d..5dca40cbbb 100644
> --- a/package/cc-tool/Config.in
> +++ b/package/cc-tool/Config.in
> @@ -3,6 +3,7 @@ config BR2_PACKAGE_CC_TOOL
> depends on BR2_INSTALL_LIBSTDCPP
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
> depends on BR2_USE_WCHAR # boost-filesystem
> depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb
> select BR2_PACKAGE_LIBUSB
> @@ -20,6 +21,7 @@ config BR2_PACKAGE_CC_TOOL
>
> comment "cc-tool needs a toolchain w/ C++, threads, wchar, gcc >= 4.9 "
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
> depends on !BR2_INSTALL_LIBSTDCPP || \
> !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
> !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
> diff --git a/package/domoticz/Config.in b/package/domoticz/Config.in
> index 85361eecf0..bb4e49bf9a 100644
> --- a/package/domoticz/Config.in
> +++ b/package/domoticz/Config.in
> @@ -8,7 +8,8 @@ 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_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread, boost-atomic
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
> select BR2_PACKAGE_BOOST
> select BR2_PACKAGE_BOOST_ATOMIC
> @@ -36,6 +37,7 @@ config BR2_PACKAGE_DOMOTICZ
> comment "domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 6, NPTL, wchar, dynamic library"
> depends on BR2_USE_MMU
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
> depends on !BR2_INSTALL_LIBSTDCPP || \
> !BR2_TOOLCHAIN_GCC_AT_LEAST_6 || \
> !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
> diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in
> index 103175946c..3766470cf7 100644
> --- a/package/gnuradio/Config.in
> +++ b/package/gnuradio/Config.in
> @@ -16,6 +16,7 @@ config BR2_PACKAGE_GNURADIO
> depends on BR2_USE_MMU # use fork()
> depends on BR2_USE_WCHAR # boost
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-filesystem
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_43744
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
> select BR2_PACKAGE_BOOST
> diff --git a/package/gqrx/Config.in b/package/gqrx/Config.in
> index adcdbb0896..fd4274f3a0 100644
> --- a/package/gqrx/Config.in
> +++ b/package/gqrx/Config.in
> @@ -21,6 +21,7 @@ config BR2_PACKAGE_GQRX
> 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_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_43744 # gnuradio
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # gnuradio
> select BR2_PACKAGE_BOOST
> diff --git a/package/i2pd/Config.in b/package/i2pd/Config.in
> index c1ba08ef75..6076d43837 100644
> --- a/package/i2pd/Config.in
> +++ b/package/i2pd/Config.in
> @@ -5,6 +5,7 @@ config BR2_PACKAGE_I2PD
> # pthread_condattr_setclock
> depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
> depends on BR2_INSTALL_LIBSTDCPP
> depends on BR2_USE_WCHAR # boost
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
> @@ -30,6 +31,7 @@ comment "i2pd needs a toolchain w/ C++, NPTL, wchar"
> depends on BR2_USE_MMU
> depends on BR2_TOOLCHAIN_HAS_ATOMIC
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
> depends on !BR2_INSTALL_LIBSTDCPP || \
> !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR
>
> @@ -37,4 +39,5 @@ comment "i2pd needs exception_ptr"
> depends on BR2_USE_MMU
> depends on BR2_TOOLCHAIN_HAS_ATOMIC
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
> depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
> diff --git a/package/libcpprestsdk/Config.in b/package/libcpprestsdk/Config.in
> index e533b30393..58818978d7 100644
> --- a/package/libcpprestsdk/Config.in
> +++ b/package/libcpprestsdk/Config.in
> @@ -4,6 +4,7 @@ config BR2_PACKAGE_LIBCPPRESTSDK
> depends on BR2_INSTALL_LIBSTDCPP
> depends on BR2_USE_WCHAR # boost
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-filesystem
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
> depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> select BR2_PACKAGE_BOOST
> diff --git a/package/log4cxx/Config.in b/package/log4cxx/Config.in
> index 27a5f06988..34e54e90be 100644
> --- a/package/log4cxx/Config.in
> +++ b/package/log4cxx/Config.in
> @@ -7,6 +7,7 @@ config BR2_PACKAGE_LOG4CXX
> depends on BR2_USE_MMU # apr
> depends on BR2_USE_WCHAR || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost-thread
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost-atomic
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost-thread
> select BR2_PACKAGE_APR
> select BR2_PACKAGE_APR_UTIL
> diff --git a/package/mongodb/Config.in b/package/mongodb/Config.in
> index 1ea4282573..4053e4dbdb 100644
> --- a/package/mongodb/Config.in
> +++ b/package/mongodb/Config.in
> @@ -5,6 +5,7 @@ config BR2_PACKAGE_MONGODB_ARCH_SUPPORTS
> default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5
> default y if BR2_aarch64 || BR2_x86_64
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
>
> config BR2_PACKAGE_MONGODB
> bool "mongodb"
> diff --git a/package/osm2pgsql/Config.in b/package/osm2pgsql/Config.in
> index e903e92c49..834cfb5a93 100644
> --- a/package/osm2pgsql/Config.in
> +++ b/package/osm2pgsql/Config.in
> @@ -4,6 +4,7 @@ config BR2_PACKAGE_OSM2PGSQL
> depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
> depends on BR2_TOOLCHAIN_HAS_THREADS # boost, libosmium
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
> depends on BR2_USE_WCHAR # boost, libosmium
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
> select BR2_PACKAGE_BOOST
> @@ -24,6 +25,7 @@ config BR2_PACKAGE_OSM2PGSQL
>
> comment "osm2pgsql needs a toolchain w/ C++, wchar, threads, gcc >= 4.9"
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
> depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
> !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_TOOLCHAIN_HAS_THREADS
>
> diff --git a/package/pulseview/Config.in b/package/pulseview/Config.in
> index f122551b9f..0bec0594ab 100644
> --- a/package/pulseview/Config.in
> +++ b/package/pulseview/Config.in
> @@ -5,6 +5,7 @@ config BR2_PACKAGE_PULSEVIEW
> depends on BR2_USE_WCHAR
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
> depends on BR2_USE_MMU
> depends on BR2_INSTALL_LIBSTDCPP
> # libsigrok->libzip
> @@ -34,6 +35,7 @@ comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library,
> depends on BR2_USE_MMU
> depends on BR2_PACKAGE_QT5
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
> depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \
> || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
> || BR2_STATIC_LIBS || !BR2_ENABLE_LOCALE || \
> diff --git a/package/supertux/Config.in b/package/supertux/Config.in
> index e8e96a3ae5..62d2d67c7b 100644
> --- a/package/supertux/Config.in
> +++ b/package/supertux/Config.in
> @@ -7,6 +7,7 @@ config BR2_PACKAGE_SUPERTUX
> depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # C++14
> depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
> depends on BR2_USE_MMU # SDL2 OpenGL (GLX)
> depends on !BR2_STATIC_LIBS # SDL2
> depends on BR2_USE_WCHAR # Boost
> @@ -40,6 +41,7 @@ comment "supertux needs OpenGL and a toolchain w/ C++, gcc >= 6, NPTL, dynamic l
> depends on BR2_PACKAGE_XORG7
> depends on BR2_USE_MMU
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
> depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_HAS_LIBGL || \
> !BR2_TOOLCHAIN_GCC_AT_LEAST_6 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
> BR2_STATIC_LIBS || !BR2_USE_WCHAR
> diff --git a/package/uhd/Config.in b/package/uhd/Config.in
> index 75554259d0..4514c9529b 100644
> --- a/package/uhd/Config.in
> +++ b/package/uhd/Config.in
> @@ -1,6 +1,7 @@
> 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_arc && !BR2_ARC_ATOMIC_EXT)
> depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
> !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
>
> @@ -12,6 +13,7 @@ config BR2_PACKAGE_UHD
> depends on BR2_INSTALL_LIBSTDCPP
> depends on !BR2_STATIC_LIBS
> depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic, boost-filesystem
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) # boost-atomic, boost-filesystem
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
> depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> depends on BR2_USE_MMU # use fork()
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH v2] package/boost: Boost.Atomic needs atomic intrinsics
2024-07-13 9:36 ` Arnout Vandecappelle via buildroot
@ 2024-08-09 19:34 ` Peter Korsgaard
0 siblings, 0 replies; 3+ messages in thread
From: Peter Korsgaard @ 2024-08-09 19:34 UTC (permalink / raw)
To: Arnout Vandecappelle via buildroot
Cc: Bernd Kuhls, Marcin Bis, Bartosz Golaszewski,
Gwenhael Goavec-Merou, Fabrice Fontaine, Maxim Kochetkov,
Thomas Petazzoni, Fabio Urquiza, Romain Naour, Fabrice Fontaine
>>>>> "Arnout" == Arnout Vandecappelle via buildroot <buildroot@buildroot.org> writes:
> On 23/12/2022 14:34, Michael Nosthoff via buildroot wrote:
>> From: Michael <buildroot@heine.tech>
>> similar to previous problems with nios2 and not-available atomic
>> ints
>> the build for Boost.Atomics also fails for ARC Targets which don't
>> have the ATOMICS_EXT flag set.
>> according to [0] "Boost.Atomic has a hard requirement of the native
>> atomic operations on bytes". The same tests mentioned there fail for
>> ARC.
> Based on that comment, the option
> BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS was introduced. So
> that one should have been used instead.
>> so introduce a dependency on BR2_ARC_ATOMIC_EXT for BR2_arc.
>> add depends clause for all packages using boost-atomic/filesystem.
>> Fixes:
>> http://autobuild.buildroot.net/results/4ca54a85672d7b9328b1909b457e548c6032a493
>> [0]
>> https://github.com/boostorg/atomic/issues/42#issuecomment-734130348
>> Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
> I changed the entire patch to this:
> diff --git a/toolchain/Config.in b/toolchain/Config.in
> index 1aa17cbfbd..8acdc62fc2 100644
> --- a/toolchain/Config.in
> +++ b/toolchain/Config.in
> @@ -94,6 +94,7 @@ config BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
> depends on !BR2_ARM_CPU_ARMV5
> depends on !BR2_sparc_v8
> depends on !BR2_m68k_cf5208
> + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
> # GCC uses thunk functions to adjust the 'this' pointer when calling
> # C++ member functions in classes derived with multiple inheritance.
> and applied to master, thanks.
Committed to 2024.02.x and 2024.05.x, thanks.
--
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-08-09 19:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-23 13:34 [Buildroot] [PATCH v2] package/boost: Boost.Atomic needs atomic intrinsics Michael Nosthoff via buildroot
2024-07-13 9:36 ` Arnout Vandecappelle via buildroot
2024-08-09 19:34 ` Peter Korsgaard
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.