Files
gentoo/dev-lang/ruby/files/4.0/901-musl-stacksize.patch
2026-01-06 08:22:24 +00:00

32 lines
1.1 KiB
Diff

https://github.com/ruby/ruby/pull/10633
From 605f55ebd7e94d56c3ef86635b413f30cfc33b46 Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@ruby-lang.org>
Date: Thu, 25 Apr 2024 21:00:37 +0900
Subject: [PATCH] [Bug #20452] Take main thread address/size with rlimit if
musl libc
Musl libc defines `pthread_getattr_np` but it can not get the correct
value of the main thread.
---
thread_pthread.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/thread_pthread.c b/thread_pthread.c
index 493350b52055af..9199edc3543e59 100644
--- a/thread_pthread.c
+++ b/thread_pthread.c
@@ -1791,6 +1791,11 @@ native_thread_destroy(struct rb_native_thread *nt)
#if defined HAVE_PTHREAD_GETATTR_NP || defined HAVE_PTHREAD_ATTR_GET_NP
#define STACKADDR_AVAILABLE 1
+# if defined(__linux__) && !defined __GLIBC__
+ /* Musl libc defines `pthread_getattr_np` but it can not get the
+ * correct value of the main thread. */
+# define MAINSTACKADDR_AVAILABLE 0
+# endif
#elif defined HAVE_PTHREAD_GET_STACKADDR_NP && defined HAVE_PTHREAD_GET_STACKSIZE_NP
#define STACKADDR_AVAILABLE 1
#undef MAINSTACKADDR_AVAILABLE