[Buildroot] [PATCH v2, 1/2] Add BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS

Thomas Petazzoni thomas.petazzoni at bootlin.com
Sat Aug 18 15:49:00 UTC 2018


Hello,

On Sat, 18 Aug 2018 00:10:13 +0200, Fabrice Fontaine wrote:
> Add BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS variable and use
> it in BR2_TOOLCHAIN_HAS_GCC_BUG_64735
> This new variable will be used to select boost atomic when lock-free
> atomic ints are not available
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> ---
>  toolchain/Config.in | 16 +++++++++++-----
>  1 file changed, 11 insertions(+), 5 deletions(-)

Thanks a lot for this additional resarch. This time, I do agree with
your findings. I improved a bit the comments in toolchain/Config.in to
explain what was going on, feel free to have a look at the final
commits that I applied to master.

However, we still have an issue: when static linking, libboost_atomic.a
is produced even on platforms that do provide the "always lock-free
atomic ints".

Examples:

 - Cortex-M4

   http://autobuild.buildroot.net/results/212/212651b677cfb0763b34596d4f999103039d89bc/build-end.log

   $ ./host/bin/arm-linux-gcc -dM -E - < /dev/null | grep
   ATOMIC_BOOL_LOCK_FREE #define __GCC_ATOMIC_BOOL_LOCK_FREE 2

 - MIPS, statically linked

   http://autobuild.buildroot.net/results/6d3/6d3db8a67a1de75920624b3e13e8110e783ddbd9/build-end.log

   $ ./host/bin/mipsel-linux-gcc -dM -E - < /dev/null | grep
   ATOMIC_BOOL_LOCK_FREE #define __GCC_ATOMIC_BOOL_LOCK_FREE 2

Do you have any idea ?

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com



More information about the buildroot mailing list