buildroot/toolchain
Thomas Petazzoni 42735cb9b9 toolchain: introduce BR2_TOOLCHAIN_HAS_LIBATOMIC
Until now, we were assuming that whenever you have gcc 4.8, libatomic
is available. It turns out that this is not correct, since libatomic
will not be available if thread support is disabled in the toolchain.

Therefore, __atomic_*() intrinsics may not be available even if the
toolchain uses gcc 4.8.

To solve this problem, we introduce a BR2_TOOLCHAIN_HAS_LIBATOMIC
boolean, which indicates whether the toolchain has libatomic. It is
the case when you are using gcc >= 4.8 *and* thread support is
enabled. We then use this new BR2_TOOLCHAIN_HAS_LIBATOMIC to define
BR2_TOOLCHAIN_HAS_ATOMIC.

As explained in the comment, on certain architectures, libatomic is
technically not needed to provide the __atomic_*() intrinsics since
they might be all built-in. However, since libatomic is only absent in
non-thread capable toolchains, it is not worth making things more
complex for such seldomly used configuration.

Note that we are introducing the intermediate
BR2_TOOLCHAIN_HAS_LIBATOMIC option because it will be useful on its
own for certain packages.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: improve Config.in comment using a suggestion from Yann.]
2016-03-20 23:40:03 +01:00
..
toolchain toolchain/toolchain-buildroot: migrate to virtual package infrastructure 2014-06-14 19:10:13 +02:00
toolchain-buildroot toolchain: also source the musl package 2016-03-08 21:59:40 +01:00
toolchain-external toolchain/external: add hashes for actual sources 2016-03-19 15:10:18 +01:00
Config.in toolchain: like glibc, musl always provides SSP support 2015-10-18 15:35:42 +02:00
helpers.mk toolchain: copy_toolchain_lib_root: rename LIBSPATH to LIBPATHS 2016-02-03 23:46:00 +01:00
toolchain-common.in toolchain: introduce BR2_TOOLCHAIN_HAS_LIBATOMIC 2016-03-20 23:40:03 +01:00
toolchain-wrapper.c arch/x86: add support for Intel X1000 2015-10-20 10:04:52 +02:00
toolchain-wrapper.mk toolchain/wrapper: fix potential bug in foreach loop 2015-10-25 23:01:48 +01:00
toolchain.mk toolchain: fix installing gconv libs with multi-arch toolchain 2015-04-22 22:30:34 +02:00