diff options
author | Jasmin Jessich <jasmin@anw.at> | 2016-10-15 19:56:23 +0200 |
---|---|---|
committer | Jasmin Jessich <jasmin@anw.at> | 2017-02-21 09:10:22 +0100 |
commit | c8d7d79e20f83e3ca268b0c302263a8c6660bd8a (patch) | |
tree | 93d88978837033505dc54753f5fd869b2953414d | |
parent | 21cde9473e8a901c990ccedf25b73c109094694a (diff) | |
download | crosstool-ng-c8d7d79e20f83e3ca268b0c302263a8c6660bd8a.tar.gz crosstool-ng-c8d7d79e20f83e3ca268b0c302263a8c6660bd8a.tar.bz2 crosstool-ng-c8d7d79e20f83e3ca268b0c302263a8c6660bd8a.zip |
Added new gcc config option CC_GCC_CONFIG_TLS
Adding new tristate configuration for TLS (Thread Local Storage) to
add "--enable-tls" (y), "--disable-tls" (n) or nothing (m).
Signed-off-by: Jasmin Jessich <jasmin@anw.at>
-rw-r--r-- | config/cc/gcc.in.2 | 19 | ||||
-rw-r--r-- | scripts/build/cc/100-gcc.sh | 12 |
2 files changed, 31 insertions, 0 deletions
diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 index 638bfe93..b4c55283 100644 --- a/config/cc/gcc.in.2 +++ b/config/cc/gcc.in.2 @@ -90,6 +90,25 @@ config CC_GCC_SYSTEM_ZLIB If unsure, say 'n'. +config CC_GCC_CONFIG_TLS + tristate + prompt "Configure TLS (Thread Local Storage)" + default m + help + Specify that the target supports TLS (Thread Local Storage). Usually + configure can correctly determine if TLS is supported. In cases where + it guesses incorrectly, TLS can be explicitly enabled or disabled. + This can happen if the assembler supports TLS but the C library does + not, or if the assumptions made by the configure test are incorrect. + + Option | TLS use | Associated ./configure switch + ---------+--------------------+-------------------------------- + Y | forcibly used | --enable-tls + M | auto | (none, ./configure decides) + N | forcibly not used | --disable-tls + + If unsure, say 'M'. + #----------------------------------------------------------------------------- # Optimisation features diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh index 48f51220..81ef5230 100644 --- a/scripts/build/cc/100-gcc.sh +++ b/scripts/build/cc/100-gcc.sh @@ -555,6 +555,12 @@ do_gcc_core_backend() { extra_config+=("--with-system-zlib") fi + case "${CT_CC_GCC_CONFIG_TLS}" in + y) extra_config+=("--enable-tls");; + m) ;; + "") extra_config+=("--disable-tls");; + esac + # Some versions of gcc have a defective --enable-multilib. # Since that's the default, only pass --disable-multilib. For multilib, # also enable multiarch. Without explicit --enable-multiarch, pass-1 @@ -1077,6 +1083,12 @@ do_gcc_backend() { extra_config+=("--with-system-zlib") fi + case "${CT_CC_GCC_CONFIG_TLS}" in + y) extra_config+=("--enable-tls");; + m) ;; + "") extra_config+=("--disable-tls");; + esac + # Some versions of gcc have a defective --enable-multilib. # Since that's the default, only pass --disable-multilib. if [ "${CT_MULTILIB}" != "y" ]; then |