summaryrefslogtreecommitdiffstats
path: root/package/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'package/gcc')
-rw-r--r--package/gcc/Config.in.host4
-rw-r--r--package/gcc/gcc.mk8
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)),)
OpenPOWER on IntegriCloud