diff options
author | Alexey Neyman <stilor@att.net> | 2017-02-23 06:00:03 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-23 06:00:03 (GMT) |
commit | 4de4507a651901c65e09ee7db644962d4ac956ff (patch) | |
tree | 910d43d6d5cb2258e593132da2f1b202f3625cb1 | |
parent | 1468e996f75fe7b9c23c883d9367633cf3d0177e (diff) | |
parent | c8d7d79e20f83e3ca268b0c302263a8c6660bd8a (diff) |
Merge pull request #375 from jasmin-j/add_tls_config
Added new gcc config option CC_GCC_CONFIG_TLS
-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 638bfe9..b4c5528 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 48f5122..81ef523 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 |