diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2019-11-08 13:22:27 +0100 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2019-11-17 09:02:42 +0800 |
commit | c12d3362a74bf0cd9e1d488918d40607b62a3104 (patch) | |
tree | 64959cb56d0c20f365e28e3f45b9ce9d6a779d13 /init | |
parent | a11d055e7a64ac34a5e99b6fe731299449cbcd58 (diff) | |
download | linux-stable-c12d3362a74bf0cd9e1d488918d40607b62a3104.tar.gz linux-stable-c12d3362a74bf0cd9e1d488918d40607b62a3104.tar.bz2 linux-stable-c12d3362a74bf0cd9e1d488918d40607b62a3104.zip |
int128: move __uint128_t compiler test to Kconfig
In order to use 128-bit integer arithmetic in C code, the architecture
needs to have declared support for it by setting ARCH_SUPPORTS_INT128,
and it requires a version of the toolchain that supports this at build
time. This is why all existing tests for ARCH_SUPPORTS_INT128 also test
whether __SIZEOF_INT128__ is defined, since this is only the case for
compilers that can support 128-bit integers.
Let's fold this additional test into the Kconfig declaration of
ARCH_SUPPORTS_INT128 so that we can also use the symbol in Makefiles,
e.g., to decide whether a certain object needs to be included in the
first place.
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig index b4daad2bac23..020526f681c0 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -785,6 +785,10 @@ config ARCH_SUPPORTS_NUMA_BALANCING config ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH bool +config CC_HAS_INT128 + def_bool y + depends on !$(cc-option,-D__SIZEOF_INT128__=0) + # # For architectures that know their GCC __int128 support is sound # |