summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extra/Configs/Config.in21
-rw-r--r--libpthread/Makefile8
2 files changed, 29 insertions, 0 deletions
diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
index 66c90365f..f9dd37580 100644
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -297,6 +297,27 @@ config UCLIBC_HAS_THREADS
If your applications require pthreads, answer Y.
+config PTHREADS_NATIVE
+ bool "Native POSIX Threading (NPTL) Support"
+ depends on UCLIBC_HAS_THREADS
+ default n
+ help
+ If you want to compile uClibc with NPTL support, then answer Y.
+
+ IMPORTANT NOTE! NPTL requires a Linux 2.6 kernel, binutils
+ at least version 2.16 and GCC with at least version 4.1.0. NPTL
+ will not work with older versions of any above sources. If you
+ ignore any of these guidelines, you do so at your own risk. Do
+ not ask for help on any of the development mailing lists.
+
+ !!!! WARNING !!!! BIG FAT WARNING !!!! REALLY BIG FAT WARNING !!!!
+
+ This is experimental code and at times it may not even build and
+ even if it does it might decide to do random damage. This code is
+ potentially hazardous to your health and sanity. It will remain
+ that way until further notice at which point this notice will
+ disappear. Thank you for your support and for not smoking.
+
config PTHREADS_DEBUG_SUPPORT
bool "Build pthreads debugging support"
default n
diff --git a/libpthread/Makefile b/libpthread/Makefile
index 81979feb9..30fa34736 100644
--- a/libpthread/Makefile
+++ b/libpthread/Makefile
@@ -32,7 +32,11 @@ LIBTHREAD_DB_SHARED_FULLNAME=libthread_db-$(MAJOR_VERSION).$(MINOR_VERSION).$(SU
DIRS=
ifeq ($(strip $(UCLIBC_HAS_THREADS)),y)
+ifeq ($(strip $(PTHREADS_NATIVE)),y)
+ DIRS+=nptl
+else
DIRS+=linuxthreads
+endif
LDFLAGS_THREAD:= $(CPU_LDFLAGS-y) -shared --warn-common --warn-once -z combreloc -z defs
ifeq ($(UCLIBC_BUILD_RELRO),y)
LDFLAGS_THREAD+=-z relro
@@ -41,7 +45,11 @@ ifeq ($(UCLIBC_BUILD_NOW),y)
LDFLAGS_THREAD+=-z now
endif
ifeq ($(strip $(PTHREADS_DEBUG_SUPPORT)),y)
+ifeq ($(strip $(PTHREADS_NATIVE)),y)
DIRS+=linuxthreads_db
+else
+ DIRS+=nptl_db
+endif
LDFLAGS_THREAD_DB:= $(CPU_LDFLAGS-y) -shared --warn-common --warn-once -z combreloc
endif
ifeq ($(DODEBUG),n)