Browse Source

Revert "remove config knobs that belong to the nptl branch"

This reverts commit de82658a05de0ace6f3d261dedc358d3a14f3681.

Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
Austin Foxley 15 years ago
parent
commit
4737dfdde5
1 changed files with 39 additions and 0 deletions
  1. 39 0
      extra/Configs/Config.in

+ 39 - 0
extra/Configs/Config.in

@@ -401,6 +401,7 @@ config LDSO_GNU_HASH_SUPPORT
 
 
 choice
 choice
 	prompt "Thread support"
 	prompt "Thread support"
+	#default UCLIBC_HAS_THREADS_NATIVE if (TARGET_alpha || TARGET_arm || TARGET_i386 || TARGET_mips || TARGET_powerpc || TARGET_sh || TARGET_sh64)
 	default HAS_NO_THREADS
 	default HAS_NO_THREADS
 	help
 	help
 	  If you want to compile uClibc with pthread support, then answer Y.
 	  If you want to compile uClibc with pthread support, then answer Y.
@@ -431,11 +432,41 @@ config LINUXTHREADS_NEW
 	  the latest code from glibc, so it may be the only choice for the
 	  the latest code from glibc, so it may be the only choice for the
 	  newer ports (like alpha/amd64/64bit arches and hppa).
 	  newer ports (like alpha/amd64/64bit arches and hppa).
 
 
+config UCLIBC_HAS_THREADS_NATIVE
+	bool "Native POSIX Threading (NPTL)"
+	select UCLIBC_HAS_TLS
+	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.
+
 endchoice
 endchoice
 
 
 config UCLIBC_HAS_THREADS
 config UCLIBC_HAS_THREADS
 	def_bool y if !HAS_NO_THREADS
 	def_bool y if !HAS_NO_THREADS
 
 
+config UCLIBC_HAS_TLS
+	bool "Thread-Local Storage"
+	depends on UCLIBC_HAS_THREADS_NATIVE
+	default n
+	help
+	  If you want to enable TLS support then answer Y.
+	  This is fast an efficient way to store per-thread local data
+	  which is not on stack. It needs __thread support enabled in
+	  gcc.
+
 config PTHREADS_DEBUG_SUPPORT
 config PTHREADS_DEBUG_SUPPORT
 	bool "Build pthreads debugging support"
 	bool "Build pthreads debugging support"
 	default n
 	default n
@@ -1715,6 +1746,14 @@ config UCLIBC_HAS_GNU_GETOPT
 
 
 	  Most people will answer Y.
 	  Most people will answer Y.
 
 
+config UCLIBC_HAS_STDIO_FUTEXES
+	bool "Use futexes for multithreaded I/O locking"
+	default n
+	depends on UCLIBC_HAS_THREADS_NATIVE
+	help
+	  If you want to compile uClibc to use futexes for low-level
+	  I/O locking, answer Y.  Otherwise, answer N.
+
 config UCLIBC_HAS_GETOPT_LONG
 config UCLIBC_HAS_GETOPT_LONG
 	bool "Support getopt_long/getopt_long_only"
 	bool "Support getopt_long/getopt_long_only"
 	depends on !UCLIBC_HAS_GNU_GETOPT
 	depends on !UCLIBC_HAS_GNU_GETOPT