From 3ab4b632a068728516bea29831f7b24b73faa5a1 Mon Sep 17 00:00:00 2001 From: Austin Foxley Date: Sun, 20 Sep 2009 16:33:38 -0700 Subject: Add a config option for gcc tls support, rather than disabling it blindly Defaulted to yes, but blocked it from gcc 4.4.x since the disable was originally added because of problems with its c++ support reportedly. Signed-off-by: Austin Foxley Signed-off-by: Peter Korsgaard --- toolchain/gcc/Config.in | 7 +++++++ toolchain/gcc/gcc-uclibc-4.x.mk | 12 +++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) (limited to 'toolchain') 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) \ -- cgit v1.2.3