toolchain: add gcc configure default PIE and SSP
[openwrt/openwrt.git] / toolchain / gcc / Config.in
index 08c69de2d651d13329d4058cceff7da676d0c7bb..0fe0ea2957c38b322d502f61b17925f9fb5e0bc2 100644 (file)
@@ -2,57 +2,33 @@
 
 choice
        prompt "GCC compiler Version" if TOOLCHAINOPTS
-       default GCC_VERSION_4_2_4 if avr32
-       default GCC_VERSION_4_3_5 if powerpc64
-       default GCC_VERSION_4_3_5 if (TARGET_coldfire || TARGET_etrax || TARGET_gemini)
-       default GCC_VERSION_4_3_3_CS if (arm || armeb) && !(TARGET_gemini || TARGET_omap35xx)
-       default GCC_VERSION_4_3_3_CS if (mips || mipsel) && !(TARGET_octeon || TARGET_sibyte)
-       default GCC_VERSION_4_4_5 if (powerpc || ubicom32)
-       default GCC_VERSION_4_4_5 if (TARGET_omap35xx || TARGET_octeon || TARGET_sibyte)
-       default GCC_VERSION_4_1_2
+       default GCC_USE_VERSION_7_1_ARC if arc
+       default GCC_USE_VERSION_5
        help
          Select the version of gcc you wish to use.
 
-       config GCC_VERSION_4_1_2
-               bool "gcc 4.1.2"
+       config GCC_USE_VERSION_7_1_ARC
+               select GCC_VERSION_7_1_ARC
+               bool "gcc 7.1.x with support of ARC cores"
+               depends on arc
 
-       config GCC_VERSION_4_2_4
-               bool "gcc 4.2.4"
+       config GCC_USE_VERSION_5
+               bool "gcc 5.x"
+               depends on !arc
 
-       config GCC_VERSION_4_3_5
-               bool "gcc 4.3.5"
+       config GCC_USE_VERSION_6
+               bool "gcc 6.x"
+               depends on !arc
 
-       config GCC_VERSION_4_4_5
-               bool "gcc 4.4.5"
-
-       config GCC_VERSION_4_5_1
-               bool "gcc 4.5.1"
-
-       config GCC_VERSION_4_5_1_LINARO
-               bool "gcc 4.5.1 with Linaro enhancements"
-
-       config GCC_VERSION_LLVM
-               bool "llvm-gcc 4.2"
-               depends BROKEN
-
-       config GCC_VERSION_4_3_3_CS
-               bool "gcc 4.3.3 with CodeSourcery enhancements"
-
-       config GCC_VERSION_4_4_1_CS
-               bool "gcc 4.4.1 with CodeSourcery enhancements"
+       config GCC_USE_VERSION_7
+               bool "gcc 7.x"
+               depends on !arc
 
 endchoice
 
 config GCC_USE_GRAPHITE
        bool
        prompt "Compile in support for the new Graphite framework in GCC 4.4+" if TOOLCHAINOPTS
-       depends GCC_VERSION_4_4 || GCC_VERSION_4_5
-
-config GCC_USE_SYSTEM_PPL_CLOOG
-       bool
-       prompt "Use the system versions of PPL and CLooG"
-       depends GCC_USE_GRAPHITE
-       default n
 
 config EXTRA_GCC_CONFIG_OPTIONS
        string
@@ -61,32 +37,49 @@ config EXTRA_GCC_CONFIG_OPTIONS
        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 SSP_SUPPORT
        bool
        prompt "Enable Stack-Smashing Protection support" if TOOLCHAINOPTS
-       default n
+       depends on !USE_MUSL
+       default y if !USE_MUSL
        help
            Enable Stack-Smashing Protection support
 
-config TLS_SUPPORT
+config SJLJ_EXCEPTIONS
        bool
-       depends UCLIBC_VERSION_NPTL
-       prompt "Enable Thread-local storage (TLS) support" if TOOLCHAINOPTS
+       prompt "Use setjump()/longjump() exceptions" if TOOLCHAINOPTS
        default n
        help
-           Enable Thread-local storage support
+           Use old setjump()/longjump() exceptions instead of the newer
+           frame unwinding exceptions handling routines.  Warning: increases
+           code size and runtime memory usage.
 
-config INSTALL_LIBSTDCPP
+config INSTALL_GFORTRAN
        bool
-       prompt "Build/install c++ compiler and libstdc++?" if TOOLCHAINOPTS
-       default y
+       prompt "Build/install fortran compiler?" if TOOLCHAINOPTS
+       default n
        help
-           Build/install c++ compiler and libstdc++?
+           Build/install GNU fortran compiler ?
 
-config INSTALL_LIBGCJ
+config INSTALL_GCCGO
        bool
-       depends on !(GCC_VERSION_4_1||GCC_VERSION_4_2)
-       prompt "Build/install java compiler and GNU classpath ?" if TOOLCHAINOPTS
+       prompt "Build/install Go compiler?" if TOOLCHAINOPTS
+       depends on USE_GLIBC || BROKEN
        default n
        help
-           Build/install java compiler and GNU classpath ?
+           Build/install GNU gccgo compiler ?