diff options
Diffstat (limited to 'extra')
-rw-r--r-- | extra/Configs/Config.in | 40 | ||||
-rw-r--r-- | extra/scripts/gen-as-const.awk | 2 |
2 files changed, 41 insertions, 1 deletions
diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 4ce4bb09b..e43033941 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -401,6 +401,7 @@ config LDSO_GNU_HASH_SUPPORT choice 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 help If you want to compile uClibc with pthread support, then answer Y. @@ -431,11 +432,42 @@ config LINUXTHREADS_NEW the latest code from glibc, so it may be the only choice for the newer ports (like alpha/amd64/64bit arches and hppa). +config UCLIBC_HAS_THREADS_NATIVE + bool "Native POSIX Threading (NPTL)" + select UCLIBC_HAS_TLS + select UCLIBC_HAS_STDIO_FUTEXES + 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 config UCLIBC_HAS_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 bool "Build pthreads debugging support" default n @@ -1715,6 +1747,14 @@ config UCLIBC_HAS_GNU_GETOPT 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 bool "Support getopt_long/getopt_long_only" depends on !UCLIBC_HAS_GNU_GETOPT diff --git a/extra/scripts/gen-as-const.awk b/extra/scripts/gen-as-const.awk index f9ec31672..013bd6e85 100644 --- a/extra/scripts/gen-as-const.awk +++ b/extra/scripts/gen-as-const.awk @@ -26,7 +26,7 @@ NF == 1 { sub(/^.*$/, "& &"); } NF > 1 { name = $1; sub(/^[^ ]+[ ]+/, ""); - printf "__asm__ (\"@@@name@@@%s@@@value@@@%%0@@@end@@@\" : : \"i\" (%s));\n", + printf "__asm__ (\"@@@name@@@%s@@@value@@@%%0@@@end@@@\" : : \"i\" ((long) %s));\n", name, $0; } |