I think I saw something similar on x86 builds (or was it arm32, don't
remember) - so it might be worth discussing to make this setting the
default and configurable to the user - thoughts?
On 18.02.21 04:52, Khem Raj wrote:
The coroutine implementation in ruby has either arch specific
implementations or it falls back to slower ucontext API based
implementation assuming libc will provide the needed APIs, however musl
does not implement ucontext APIs like glibc, therefore fallback is to
use libucontext library on musl. However, libucontext is not ported to
riscv yet. which means on musl/riscv ruby is unbuildable, however a
third option is to use copy implementation for coroutines, which will be
not as good performance-wise, but it will do the job, therefore for now
use copy implementation for rv32/rv64 when using musl
Signed-off-by: Khem Raj <raj.k...@gmail.com>
---
meta/recipes-devtools/ruby/ruby_3.0.0.bb | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/meta/recipes-devtools/ruby/ruby_3.0.0.bb
b/meta/recipes-devtools/ruby/ruby_3.0.0.bb
index 5e143ee87f..28e12c3cd7 100644
--- a/meta/recipes-devtools/ruby/ruby_3.0.0.bb
+++ b/meta/recipes-devtools/ruby/ruby_3.0.0.bb
@@ -32,6 +32,13 @@ EXTRA_OECONF_append_libc-musl = "\
ac_cv_func_isinf=yes \
"
+EXTRA_OECONF_append_libc-musl_riscv64 = "\
+ --with-coroutine=copy \
+"
+EXTRA_OECONF_append_libc-musl_riscv32 = "\
+ --with-coroutine=copy \
+"
+
do_install() {
oe_runmake 'DESTDIR=${D}' install
}
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#148296):
https://lists.openembedded.org/g/openembedded-core/message/148296
Mute This Topic: https://lists.openembedded.org/mt/80722281/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-