Browse Source

Add in configuration item and Makefile changes for NPTL. We will be
placing the NPTL code under the top-level 'libpthread' directory.
Nothing compiles or even works at this point, so do not enable this
option.

"Steven J. Hill" 19 years ago
parent
commit
c50567169b
2 changed files with 29 additions and 0 deletions
  1. 21 0
      extra/Configs/Config.in
  2. 8 0
      libpthread/Makefile

+ 21 - 0
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

+ 8 - 0
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)