|
|
|
# Choose gcc version.
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "GCC compiler Version" if TOOLCHAINOPTS
|
|
|
|
default GCC_USE_VERSION_8 if arc
|
|
|
|
default GCC_USE_VERSION_7
|
|
|
|
help
|
|
|
|
Select the version of gcc you wish to use.
|
|
|
|
|
|
|
|
config GCC_USE_VERSION_5
|
|
|
|
bool "gcc 5.x"
|
|
|
|
depends on !arc
|
|
|
|
|
|
|
|
config GCC_USE_VERSION_7
|
|
|
|
bool "gcc 7.x"
|
|
|
|
depends on !arc
|
|
|
|
|
toolchain/gcc: add GCC 8.1.0
Changes compared to GCC 7.x
001-revert_register_mode_search.patch dropped
The underlying issue is described at the end of
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58139
It is fixed by the upstream commit:
https://github.com/gcc-mirror/gcc/commit/3fa2798aa887d141d86985240f03e2f3809e7e62
020-PR-libstdc-81797-Add-.NOTPARALLEL-to-include-Makefil.patch dropped due to already upstream
100-PR-rtl-optimization-83496.patch dropped due to already upstream
910-mbsd_multi.patch
modified to fix ambiguous overloaded inform() call error
gcc/input.h
header: define UNKNOWN_LOCATION ((source_location) 0)
- inform (0, "someone does not honour COPTS correctly, passed %d times",
- honour_copts);
+ inform (UNKNOWN_LOCATION, "someone does not honour COPTS correctly, passed %d times",
+ honour_copts);
940-no-clobber-stamp-bits.patch dropped due to fixed upstream by another way
upstream commit: https://github.com/gcc-mirror/gcc/commit/87b2d547f8ac9778d66909b8726fe967d1efbc74
950-cpp_file_path_translation.patch dropped, Both -fmacro-prefix-map and -ffile-prefix-map are added
to gcc 8.1.0, if I understand it correctly, we should use -fmacro-prefix-map
usage: -fmacro-prefix-map=@var{old}=@var{new}
upstream commit: https://github.com/gcc-mirror/gcc/commit/859b51f83662d01e4f158ea9327db9ca37fe70b3
-iremap exists as a flag for a long time, for backward compatibility, I think we should keep the
variable name unchanged but change its value in rules.mk for gcc 8.x and higher.
Compile and run tested on x86_64
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
6 years ago
|
|
|
config GCC_USE_VERSION_8
|
|
|
|
bool "gcc 8.x"
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
config GCC_USE_GRAPHITE
|
|
|
|
bool
|
|
|
|
prompt "Compile in support for the new Graphite framework in GCC 4.4+" if TOOLCHAINOPTS
|
|
|
|
|
|
|
|
config EXTRA_GCC_CONFIG_OPTIONS
|
|
|
|
string
|
|
|
|
prompt "Additional gcc configure options" if TOOLCHAINOPTS
|
|
|
|
default ""
|
|
|
|
help
|
|
|
|
Any additional gcc options you may want to include....
|
|
|
|
|
|
|
|
config GCC_DEFAULT_PIE
|
|
|
|
bool
|
|
|
|
prompt "Build executable with PIE enabled by default" if TOOLCHAINOPTS
|
|
|
|
depends on !GCC_USE_VERSION_5
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Use gcc configure option --enable-default-pie to turn on -fPIE and -pie by default.
|
|
|
|
|
|
|
|
config GCC_DEFAULT_SSP
|
|
|
|
bool
|
|
|
|
prompt "Build executable with Stack-Smashing Protection enabled by default" if TOOLCHAINOPTS
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Use gcc configure option --enable-default-ssp to turn on -fstack-protector-strong by default.
|
|
|
|
|
|
|
|
config GCC_LIBSSP
|
|
|
|
bool
|
|
|
|
prompt "Build gcc libssp" if TOOLCHAINOPTS
|
|
|
|
depends on !USE_MUSL
|
|
|
|
default y if !USE_MUSL
|
|
|
|
help
|
|
|
|
Enable Stack-Smashing Protection support
|
|
|
|
|
|
|
|
config SJLJ_EXCEPTIONS
|
|
|
|
bool
|
|
|
|
prompt "Use setjump()/longjump() exceptions" if TOOLCHAINOPTS
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Use old setjump()/longjump() exceptions instead of the newer
|
|
|
|
frame unwinding exceptions handling routines. Warning: increases
|
|
|
|
code size and runtime memory usage.
|
|
|
|
|
|
|
|
config INSTALL_GFORTRAN
|
|
|
|
bool
|
|
|
|
prompt "Build/install fortran compiler?" if TOOLCHAINOPTS
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Build/install GNU fortran compiler ?
|
|
|
|
|
|
|
|
config INSTALL_GCCGO
|
|
|
|
bool
|
|
|
|
prompt "Build/install Go compiler?" if TOOLCHAINOPTS
|
|
|
|
depends on USE_GLIBC || BROKEN
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Build/install GNU gccgo compiler ?
|