Re: Bug#816077: ruby2.3: FTBFS on m68k - Segmentation fault at 0x5f583332
Control: tags -1 +patch
Control: forwarded -1 https://bugs.ruby-lang.org/issues/12118
Hi!
Andreas Schwab just provided an updated patch which actually fixes the
problem, I was now able to build ruby2.3 successfully on m68k. Attaching
the patch.
Upstream has also implemented some changes to address the issue [1] but
I haven't tested the upstream changes yet.
Adrian
> [1] https://bugs.ruby-lang.org/issues/12118
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer - glaubitz@debian.org
`. `' Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Index: ruby-2.3.0/localeinit.c
===================================================================
--- ruby-2.3.0.orig/localeinit.c
+++ ruby-2.3.0/localeinit.c
@@ -89,7 +89,7 @@ enc_find_index(const char *name)
}
int
-rb_locale_charmap_index(VALUE klass)
+rb_locale_charmap_index(void)
{
return (int)locale_charmap(enc_find_index);
}
Index: ruby-2.3.0/thread_pthread.c
===================================================================
--- ruby-2.3.0.orig/thread_pthread.c
+++ ruby-2.3.0/thread_pthread.c
@@ -691,16 +691,15 @@ reserve_stack(volatile char *limit, size
limit += size;
if (limit > end) {
size = limit - end;
- limit = alloca(size);
+ limit = alloca(stack_check_margin+size);
limit[stack_check_margin+size-1] = 0;
}
}
else {
limit -= size;
if (buf > limit) {
- limit = alloca(buf - limit);
+ limit = alloca(buf - limit + stack_check_margin);
limit[0] = 0; /* ensure alloca is called */
- limit -= stack_check_margin;
}
}
}
Reply to: