forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-lang/ruby: copy patches to adhere to ruby lang policy
We keep patch sets per version, even if the patches can be applied as-is, to keep things manageable. Signed-off-by: Hans de Graaff <[email protected]>
- Loading branch information
Showing
4 changed files
with
69 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
musl has a conservative stacksize, as compared to glibc, so treat it | ||
like other systems with such stacksize | ||
|
||
diff --git a/thread_pthread.c b/thread_pthread.c | ||
index 951885ffa0..e2d662143b 100644 | ||
--- a/thread_pthread.c | ||
+++ b/thread_pthread.c | ||
@@ -721,7 +721,7 @@ ruby_init_stack(volatile VALUE *addr | ||
{ | ||
native_main_thread.id = pthread_self(); | ||
|
||
-#if MAINSTACKADDR_AVAILABLE | ||
+#if MAINSTACKADDR_AVAILABLE && !(defined(__linux__) && !defined(__GLIBC__)) | ||
if (native_main_thread.stack_maxsize) return; | ||
{ | ||
void* stackaddr; | ||
@@ -1680,7 +1680,7 @@ ruby_stack_overflowed_p(const rb_thread_t *th, const void *addr) | ||
|
||
#ifdef STACKADDR_AVAILABLE | ||
if (get_stack(&base, &size) == 0) { | ||
-# ifdef __APPLE__ | ||
+# if defined(__APPLE__) || (defined(__linux__) && !defined(__GLIBC__)) | ||
if (pthread_equal(th->thread_id, native_main_thread.id)) { | ||
struct rlimit rlim; | ||
if (getrlimit(RLIMIT_STACK, &rlim) == 0 && rlim.rlim_cur > size) { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
Adapted for Gentoo version 2.7.4 | ||
|
||
From b570e7de87aaad8c903176d835e8124127f627b3 Mon Sep 17 00:00:00 2001 | ||
From: Andrew Aladjev <[email protected]> | ||
Date: Sat, 26 Sep 2020 12:58:06 +0300 | ||
Subject: [PATCH] fixed default coroutine selection for musl | ||
|
||
--- | ||
configure.ac | 5 ++++- | ||
coroutine/copy/Context.c | 2 ++ | ||
2 files changed, 6 insertions(+), 1 deletion(-) | ||
|
||
diff --git a/configure.ac b/configure.ac | ||
index ab5d532c103b..084f0936c006 100644 | ||
--- a/configure.ac | ||
+++ b/configure.ac | ||
@@ -2364,7 +2364,10 @@ | ||
rb_cv_coroutine=copy | ||
], | ||
[*], [ | ||
- rb_cv_coroutine=ucontext | ||
+ AC_CHECK_FUNCS([getcontext swapcontext makecontext], | ||
+ [rb_cv_coroutine=ucontext], | ||
+ [rb_cv_coroutine=copy; break] | ||
+ ) | ||
] | ||
) | ||
AC_MSG_RESULT(${rb_cv_coroutine}) | ||
diff --git a/coroutine/copy/Context.c b/coroutine/copy/Context.c | ||
index c1b4144e9857..94a7f57f7d89 100644 | ||
--- a/coroutine/copy/Context.c | ||
+++ b/coroutine/copy/Context.c | ||
@@ -5,6 +5,8 @@ | ||
* Copyright, 2019, by Samuel Williams. | ||
*/ | ||
|
||
+#include <sys/types.h> | ||
+ | ||
#include "Context.h" | ||
|
||
// http://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters