فهرست منبع

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 سال پیش
والد
کامیت
c50567169b
2فایلهای تغییر یافته به همراه29 افزوده شده و 0 حذف شده
  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)