1380f4c9a6
With the following defconfig: BR2_aarch64=y BR2_BINUTILS_VERSION_2_28_X=y BR2_GCC_VERSION_4_9_X=y BR2_TOOLCHAIN_BUILDROOT_CXX=y The build fail with this error: In file included from ../sysdeps/ieee754/flt-32/math_config.h:23:0, from ../sysdeps/ieee754/flt-32/e_expf.c:29: ../sysdeps/aarch64/fpu/math_private.h: In function 'roundtoint': ../sysdeps/aarch64/fpu/math_private.h:311:3: error: implicit declaration of function 'vrndn_f64' [-Werror=implicit-function-declaration] return vget_lane_f64 (vrndn_f64 (vld1_f64 (&x)), 0); ^ cc1: all warnings being treated as errors vrndn_f64 function has been introduced in glibc code since version 2.27 [1]. So we can't build a glibc based toolchain with gcc 4.9 anymore. Add a new dependency in the toolchain infra to avoid selecting glibc toolchain using gcc 4.9. [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=72aa623345ada1276ed89dbc00fdff9639cb8eaf Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
158 lines
4.8 KiB
Plaintext
158 lines
4.8 KiB
Plaintext
comment "GCC Options"
|
|
|
|
choice
|
|
prompt "GCC compiler Version"
|
|
default BR2_GCC_VERSION_ARC if BR2_arc
|
|
default BR2_GCC_VERSION_OR1K if BR2_or1k
|
|
default BR2_GCC_VERSION_7_X
|
|
help
|
|
Select the version of gcc you wish to use.
|
|
|
|
config BR2_GCC_VERSION_ARC
|
|
bool "gcc arc (7.x)"
|
|
# Only supported architecture
|
|
depends on BR2_arc
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_7
|
|
|
|
config BR2_GCC_VERSION_OR1K
|
|
bool "gcc or1k (5.x)"
|
|
# Only supported architecture
|
|
depends on BR2_or1k
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
|
|
|
config BR2_GCC_VERSION_4_9_X
|
|
bool "gcc 4.9.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
|
# Broken or unsupported architectures
|
|
depends on !BR2_arc
|
|
depends on !BR2_or1k
|
|
# musl on microblaze, ppc64 and mips64 unsupported
|
|
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_microblazeel || BR2_microblazebe))
|
|
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le))
|
|
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)
|
|
# glibc >= 2.27 needs gcc >= 5
|
|
depends on !(BR2_TOOLCHAIN_USES_GLIBC && (BR2_aarch64 || BR2_aarch64_be))
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
|
|
config BR2_GCC_VERSION_5_X
|
|
bool "gcc 5.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
|
# Broken or unsupported architectures
|
|
depends on !BR2_arc
|
|
depends on !BR2_or1k
|
|
# musl on ppc64 and mips64 unsupported
|
|
depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le))
|
|
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
|
|
bool "gcc 6.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
|
# Broken or unsupported architectures
|
|
depends on !BR2_arc
|
|
depends on !BR2_or1k
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
|
|
|
config BR2_GCC_VERSION_7_X
|
|
bool "gcc 7.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
|
# Broken or unsupported architectures
|
|
depends on !BR2_or1k
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_7
|
|
|
|
config BR2_GCC_VERSION_8_X
|
|
bool "gcc 8.x"
|
|
# Broken or unsupported architectures
|
|
depends on !BR2_or1k
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
|
|
|
endchoice
|
|
|
|
config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE
|
|
bool
|
|
default y
|
|
|
|
config BR2_GCC_VERSION
|
|
string
|
|
default "4.9.4" if BR2_GCC_VERSION_4_9_X
|
|
default "5.5.0" if BR2_GCC_VERSION_5_X
|
|
default "6.4.0" if BR2_GCC_VERSION_6_X
|
|
default "7.3.0" if BR2_GCC_VERSION_7_X
|
|
default "8.2.0" if BR2_GCC_VERSION_8_X
|
|
default "arc-2018.03" if BR2_GCC_VERSION_ARC
|
|
default "or1k-musl-5.4.0-20170218" if BR2_GCC_VERSION_OR1K
|
|
|
|
config BR2_EXTRA_GCC_CONFIG_OPTIONS
|
|
string "Additional gcc options"
|
|
default ""
|
|
help
|
|
Any additional gcc configure options you may want to
|
|
include. Those options are applied for all of the gcc
|
|
initial, gcc intermediate and gcc final passes.
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_CXX
|
|
bool "Enable C++ support"
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
help
|
|
Enable this option if you want your toolchain to support the
|
|
C++ language and you want C++ libraries to be installed on
|
|
your target system.
|
|
|
|
comment "Fortran support needs a toolchain w/ wchar"
|
|
depends on BR2_TOOLCHAIN_HAS_LIBQUADMATH
|
|
depends on !BR2_USE_WCHAR # libquadmath
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_FORTRAN
|
|
bool "Enable Fortran support"
|
|
# on architecture building libquadmath, wchar is required
|
|
depends on !BR2_TOOLCHAIN_HAS_LIBQUADMATH || \
|
|
(BR2_TOOLCHAIN_HAS_LIBQUADMATH && BR2_USE_WCHAR)
|
|
select BR2_TOOLCHAIN_HAS_FORTRAN
|
|
help
|
|
Enable this option if you want your toolchain to support the
|
|
Fortran language and you want Fortran libraries to be
|
|
installed on your target system.
|
|
|
|
config BR2_GCC_ENABLE_LTO
|
|
bool "Enable compiler link-time-optimization support"
|
|
select BR2_BINUTILS_ENABLE_LTO
|
|
help
|
|
This option enables link-time optimization (LTO) support in
|
|
gcc.
|
|
|
|
config BR2_GCC_ENABLE_OPENMP
|
|
bool "Enable compiler OpenMP support"
|
|
depends on !BR2_PTHREADS_NONE && !BR2_arc && !BR2_microblaze
|
|
help
|
|
Enable OpenMP support for the compiler
|
|
|
|
config BR2_GCC_ENABLE_LIBMUDFLAP
|
|
bool "Enable libmudflap support"
|
|
# There are architectures, or specific configurations for
|
|
# which mudflap is not supported.
|
|
depends on !BR2_ARM_INSTRUCTIONS_THUMB && !BR2_powerpc_SPE
|
|
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
help
|
|
libmudflap is a gcc library used for the mudflap pointer
|
|
debugging functionality. It is only needed if you intend to
|
|
use the -fmudflap gcc flag.
|
|
|
|
See http://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging and
|
|
the help of the gcc -fmudflap option for more details.
|
|
|
|
If you're unsure, leave this option disabled.
|
|
|
|
config BR2_GCC_ENABLE_GRAPHITE
|
|
bool "Enable graphite support"
|
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
|
help
|
|
This option enables the graphite optimizations in the
|
|
compiler.
|
|
|
|
comment "graphite support needs gcc >= 5.x"
|
|
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
|