aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <danglin@gcc.gnu.org>2025-01-29 16:51:16 -0500
committerJohn David Anglin <danglin@gcc.gnu.org>2025-01-29 16:51:16 -0500
commit8e86549d1417a4618ab98d10aaba427350b321c6 (patch)
tree4c924a001723827348686367377fa838d2f06b36
parent32ac9f8049adc7a7b92c3f27286de745691ad233 (diff)
downloadglibc-master.zip
glibc-master.tar.gz
glibc-master.tar.bz2
nptl: Correct stack size attribute when stack grows up [BZ #32574]HEADmaster
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.c4
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. */