aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-01-29 00:21:13 +0000
committerFelix Fietkau <nbd@openwrt.org>2011-01-29 00:21:13 +0000
commit4e6bca2d05df5962620e9fb02170d0f89ebc1896 (patch)
tree59eeed1108946cb254506ea72ffd45f8dd1d7db9
parent00994ee99ee4744d9ca5bd8df1af3718acb66ecc (diff)
downloadupstream-4e6bca2d05df5962620e9fb02170d0f89ebc1896.tar.gz
upstream-4e6bca2d05df5962620e9fb02170d0f89ebc1896.tar.bz2
upstream-4e6bca2d05df5962620e9fb02170d0f89ebc1896.zip
uClibc: use the arch specific thread stack size for nptl if the size returned by getrlimits exceeds it - fixes threads on systems with only 16 MB RAM
SVN-Revision: 25223
-rw-r--r--toolchain/uClibc/patches-0.9.32/190-nptl_use_arch_default_stack_limit.patch13
1 files changed, 13 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches-0.9.32/190-nptl_use_arch_default_stack_limit.patch b/toolchain/uClibc/patches-0.9.32/190-nptl_use_arch_default_stack_limit.patch
new file mode 100644
index 0000000000..5433f3b488
--- /dev/null
+++ b/toolchain/uClibc/patches-0.9.32/190-nptl_use_arch_default_stack_limit.patch
@@ -0,0 +1,13 @@
+--- a/libpthread/nptl/init.c
++++ b/libpthread/nptl/init.c
+@@ -401,6 +401,10 @@ __pthread_initialize_minimal_internal (v
+ Use the minimal size acceptable. */
+ limit.rlim_cur = PTHREAD_STACK_MIN;
+
++ /* Do not exceed architecture specific default */
++ if (limit.rlim_cur > ARCH_STACK_DEFAULT_SIZE)
++ limit.rlim_cur = ARCH_STACK_DEFAULT_SIZE;
++
+ /* Make sure it meets the minimum size that allocate_stack
+ (allocatestack.c) will demand, which depends on the page size. */
+ const uintptr_t pagesz = sysconf (_SC_PAGESIZE);