summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--toolchain/gcc/Config.in7
-rw-r--r--toolchain/gcc/gcc-uclibc-4.x.mk12
2 files changed, 16 insertions, 3 deletions
diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in
index 279e10152..db7e32e79 100644
--- a/toolchain/gcc/Config.in
+++ b/toolchain/gcc/Config.in
@@ -175,3 +175,10 @@ config BR2_GCC_SHARED_LIBGCC
help
Build/install a shared libgcc library
+config BR2_GCC_ENABLE_TLS
+ bool "Enable compiler tls support"
+ default y
+ depends on !BR2_GCC_VERSION_4_4_X
+ help
+ Enable the compiler to generate code for accessing
+ thread local storage variables
diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk
index 98295e307..49e9a700f 100644
--- a/toolchain/gcc/gcc-uclibc-4.x.mk
+++ b/toolchain/gcc/gcc-uclibc-4.x.mk
@@ -137,6 +137,12 @@ else
GCC_SHARED_LIBGCC:=--disable-shared
endif
+ifeq ($(BR2_GCC_ENABLE_TLS),y)
+GCC_TLS:=--enable-tls
+else
+GCC_TLS:=--disable-tls
+endif
+
ifeq ($(BR2_KERNEL_HURD),y)
EXTRA_GCC1_CONFIG_OPTIONS+=--without-headers
endif
@@ -219,7 +225,7 @@ $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched
--with-gnu-ld \
--disable-shared \
--disable-libssp \
- --disable-tls \
+ $(GCC_TLS) \
$(GCC_WITH_HOST_GMP) \
$(GCC_WITH_HOST_MPFR) \
$(DISABLE_NLS) \
@@ -295,7 +301,7 @@ $(GCC_BUILD_DIR2)/.configured: $(GCC_SRC_DIR)/.patched $(GCC_STAGING_PREREQ)
--enable-target-optspace \
--with-gnu-ld \
--disable-libssp \
- --disable-tls \
+ $(GCC_TLS) \
$(GCC_SHARED_LIBGCC) \
$(GCC_WITH_HOST_GMP) \
$(GCC_WITH_HOST_MPFR) \
@@ -422,7 +428,7 @@ $(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR3)/.prepared
--disable-__cxa_atexit \
--with-gnu-ld \
--disable-libssp \
- --disable-tls \
+ $(GCC_TLS) \
$(GCC_SHARED_LIBGCC) \
$(GCC_WITH_TARGET_GMP) \
$(GCC_WITH_TARGET_MPFR) \