1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

a64: fix crash on register stack mark/sweep pass

* thread_pthread.c: move 'register_stack_start' earlier.
  [ruby-core:79928] [Bug #13284] [Fix GH-1625]

Author:    Sergei Trofimovich <slyfox@gentoo.org>


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
takano32 2017-07-10 06:57:50 +00:00
parent f1fe99b1be
commit 7aa74a0d0a

View file

@ -740,6 +740,12 @@ ruby_init_stack(volatile VALUE *addr
) )
{ {
native_main_thread.id = pthread_self(); native_main_thread.id = pthread_self();
#ifdef __ia64
if (!native_main_thread.register_stack_start ||
(VALUE*)bsp < native_main_thread.register_stack_start) {
native_main_thread.register_stack_start = (VALUE*)bsp;
}
#endif
#if MAINSTACKADDR_AVAILABLE #if MAINSTACKADDR_AVAILABLE
if (native_main_thread.stack_maxsize) return; if (native_main_thread.stack_maxsize) return;
{ {
@ -762,12 +768,6 @@ ruby_init_stack(volatile VALUE *addr
native_main_thread.stack_start < addr)) { native_main_thread.stack_start < addr)) {
native_main_thread.stack_start = (VALUE *)addr; native_main_thread.stack_start = (VALUE *)addr;
} }
#endif
#ifdef __ia64
if (!native_main_thread.register_stack_start ||
(VALUE*)bsp < native_main_thread.register_stack_start) {
native_main_thread.register_stack_start = (VALUE*)bsp;
}
#endif #endif
{ {
#if defined(HAVE_GETRLIMIT) #if defined(HAVE_GETRLIMIT)