toolchain: add gcc configure default PIE and SSP
[openwrt/openwrt.git] / toolchain / gcc / Config.in
index fe34613e9689f3a727271dc4d2edbffe068f5fc7..0fe0ea2957c38b322d502f61b17925f9fb5e0bc2 100644 (file)
@@ -2,80 +2,33 @@
 
 choice
        prompt "GCC compiler Version" if TOOLCHAINOPTS
-       default GCC_VERSION_4_2_4 if avr32
-       default GCC_VERSION_4_3_3 if powerpc64
-       default GCC_VERSION_4_3_3 if TARGET_coldfire
-       default GCC_VERSION_4_3_3 if TARGET_etrax
-       default GCC_VERSION_4_3_3_CS if (arm || armeb) && !TARGET_gemini
-       default GCC_VERSION_4_3_3_CS if (mips || mipsel) && !(TARGET_octeon || TARGET_sibyte)
-       default GCC_VERSION_4_3_4 if TARGET_gemini
-       default GCC_VERSION_4_4_1 if ubicom32
-       default GCC_VERSION_4_4_3 if powerpc
-       default GCC_VERSION_4_4_4 if (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_3
-               bool "gcc 4.3.3"
+       config GCC_USE_VERSION_6
+               bool "gcc 6.x"
+               depends on !arc
 
-       config GCC_VERSION_4_3_4
-               bool "gcc 4.3.4"
-
-       config GCC_VERSION_4_3_5
-               bool "gcc 4.3.5"
-
-       config GCC_VERSION_4_4_1
-               bool "gcc 4.4.1"
-
-       config GCC_VERSION_4_4_2
-               bool "gcc 4.4.2"
-
-       config GCC_VERSION_4_4_3
-               bool "gcc 4.4.3"
-
-       config GCC_VERSION_4_4_4
-               bool "gcc 4.4.4"
-
-       config GCC_VERSION_4_5_0
-               bool "gcc 4.5.0"
-
-       config GCC_VERSION_4_5_1
-               bool "gcc 4.5.1"
-
-       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"
-               depends BROKEN
-
-       config GCC_VERSION_4_4_3_CS
-               bool "gcc 4.4.3 with CodeSourcery enhancements"
-               depends BROKEN
+       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
@@ -84,31 +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
-       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 ?