diff options
author | Romain Naour <romain.naour@gmail.com> | 2017-09-23 23:24:03 +0200 |
---|---|---|
committer | Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> | 2017-09-27 22:56:11 +0200 |
commit | 6c0dd2fb684256ff0ed5a5a2edefd7ada2273eed (patch) | |
tree | cbd0ea2a4ceac8b3f9477466ae407696f8413d91 /package/gcc | |
parent | 6e6c82f48dc8df4223d353126f2ebed391ad1433 (diff) | |
download | buildroot-6c0dd2fb684256ff0ed5a5a2edefd7ada2273eed.tar.gz buildroot-6c0dd2fb684256ff0ed5a5a2edefd7ada2273eed.zip |
package/gcc: enable float128 on powerpc64le with glibc >= 2.26 toolchains
float128 is now required on powerpc64le with glibc >= 2.26 toolchains.
Fixes:
running configure fragment for sysdeps/gnu
running configure fragment for sysdeps/powerpc/powerpc64le
checking if [...]powerpc64le-buildroot-linux-gnu-gcc supports binary128 floating point type... no
checking if the target machine is at least POWER8... yes
configure: error: *** binary128 floating point type (GCC >= 6.2) is required on powerpc64le.
In order to prepare the glibc bump to this version, we enable
binary128 floating point in gcc. This require at least gcc >= 6.2.
Disable gcc 4.x and 5.x for internal toolchain.
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Diffstat (limited to 'package/gcc')
-rw-r--r-- | package/gcc/Config.in.host | 4 | ||||
-rw-r--r-- | package/gcc/gcc.mk | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index ec7b6924ee..0926560885 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -39,6 +39,8 @@ config BR2_GCC_VERSION_4_9_X depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le)) # musl mips64 unsupported depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el)) + # glibc >= 2.26 needs gcc >= 6.2 + depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_powerpc64le) select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_GCC_VERSION_5_X @@ -53,6 +55,8 @@ config BR2_GCC_VERSION_5_X depends on !BR2_mips_interaptiv && !BR2_mips_m5150 && !BR2_mips_i6400 # musl mips64 unsupported depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el)) + # glibc >= 2.26 needs gcc >= 6.2 + depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_powerpc64le) select BR2_TOOLCHAIN_GCC_AT_LEAST_5 config BR2_GCC_VERSION_6_X diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index 49ccccf56f..54ef70c91c 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -254,6 +254,14 @@ HOST_GCC_COMMON_CONF_OPTS += \ --without-long-double-128 endif +# Since glibc >= 2.26, poerpc64le requires double/long double which +# requires at least gcc 6.2. +# See sysdeps/powerpc/powerpc64le/configure.ac +ifeq ($(BR2_TOOLCHAIN_USES_GLIBC)$(BR2_TOOLCHAIN_GCC_AT_LEAST_6)$(BR2_powerpc64le),yyy) +HOST_GCC_COMMON_CONF_OPTS += \ + --with-long-double-128 +endif + HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_CROSS_PATH_SUFFIX='".br_real"' ifeq ($(BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS),) ifeq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),) |