diff options
author | John David Anglin <danglin@gcc.gnu.org> | 2025-01-29 16:51:16 -0500 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2025-01-29 16:51:16 -0500 |
commit | 8e86549d1417a4618ab98d10aaba427350b321c6 (patch) | |
tree | 4c924a001723827348686367377fa838d2f06b36 | |
parent | 32ac9f8049adc7a7b92c3f27286de745691ad233 (diff) | |
download | glibc-master.zip glibc-master.tar.gz glibc-master.tar.bz2 |
Set stack size attribute to the size of the mmap'd region only
when the size of the remaining stack space is less than the size
of the mmap'd region.
This was reversed. As a result, the initial stack size was only
135168 bytes. On architectures where the stack grows down, the
initial stack size is approximately 8384512 bytes with the default
rlimit settings. The small main stack size on hppa broke
applications like ruby that check for stack overflows.
Signed-off-by: John David Anglin <dave.anglin@bell.net>
-rw-r--r-- | nptl/pthread_getattr_np.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/nptl/pthread_getattr_np.c b/nptl/pthread_getattr_np.c index e98e2df..43dd16d 100644 --- a/nptl/pthread_getattr_np.c +++ b/nptl/pthread_getattr_np.c @@ -145,9 +145,9 @@ __pthread_getattr_np (pthread_t thread_id, pthread_attr_t *attr) > (size_t) iattr->stackaddr - last_to) iattr->stacksize = (size_t) iattr->stackaddr - last_to; #else - /* The limit might be too high. */ + /* The limit might be too low. */ if ((size_t) iattr->stacksize - > to - (size_t) iattr->stackaddr) + < to - (size_t) iattr->stackaddr) iattr->stacksize = to - (size_t) iattr->stackaddr; #endif /* We succeed and no need to look further. */ |