summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target/config/Config.in.libc.choice3
-rw-r--r--target/config/Config.in.libc.default7
-rw-r--r--toolchain/gcc/Makefile7
3 files changed, 13 insertions, 4 deletions
diff --git a/target/config/Config.in.libc.choice b/target/config/Config.in.libc.choice
index 17d310c8d..f55a3a017 100644
--- a/target/config/Config.in.libc.choice
+++ b/target/config/Config.in.libc.choice
@@ -34,9 +34,6 @@ config ADK_TARGET_LIB_UCLIBC
select ADK_uclibc
depends on \
!ADK_LINUX_AARCH64 && \
- !ADK_LINUX_ALPHA && \
- !ADK_LINUX_M68K && \
- !ADK_LINUX_MICROBLAZE && \
!ADK_LINUX_SPARC && \
!ADK_LINUX_SPARC64 && \
!ADK_LINUX_PPC64 && \
diff --git a/target/config/Config.in.libc.default b/target/config/Config.in.libc.default
index f7f182f37..c06112891 100644
--- a/target/config/Config.in.libc.default
+++ b/target/config/Config.in.libc.default
@@ -16,6 +16,13 @@ config ADK_TARGET_LIBC
default "glibc" if ADK_glibc
default "musl" if ADK_musl
+config ADK_TARGET_WITH_NPTL
+ boolean
+ default n if ADK_TARGET_LIB_UCLIBC && ADK_LINUX_ALPHA
+ default n if ADK_TARGET_LIB_UCLIBC && ADK_LINUX_M68K
+ default n if ADK_TARGET_LIB_UCLIBC && ADK_LINUX_MICROBLAZE
+ default y
+
config ADK_TARGET_SUFFIX
string
default "gnueabihf" if ADK_TARGET_LIB_GLIBC && ADK_eabihf
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 1c95a2f93..46c272c96 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -21,7 +21,6 @@ GCC_CONFOPTS:= --prefix=$(TOOLCHAIN_DIR)/usr \
--disable-__cxa_atexit \
--with-gnu-ld \
--with-gnu-as \
- --enable-tls \
--disable-libsanitizer \
--disable-install-libiberty \
--disable-libitm \
@@ -39,6 +38,12 @@ GCC_CONFOPTS:= --prefix=$(TOOLCHAIN_DIR)/usr \
GCC_FINAL_CONFOPTS:=
+ifneq ($(ADK_TARGET_WITH_NPTL),)
+GCC_CONFOPTS+= --enable-tls --enable-threads --enable-libatomic
+else
+GCC_CONFOPTS+= --disable-tls --disable-threads --disable-libatomic
+endif
+
ifneq ($(ADK_LINUX_XTENSA),y)
GCC_FINAL_CONFOPTS+= --enable-cxx-flags='$(TARGET_CXXFLAGS)'
endif