From 0b3fcc93d2d5ca5bd10f7d8ad11e46a5fcdbf5c6 Mon Sep 17 00:00:00 2001 From: takano32 Date: Mon, 10 Jul 2017 06:57:50 +0000 Subject: 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 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- thread_pthread.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/thread_pthread.c b/thread_pthread.c index f652429637..18170c8e16 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -740,6 +740,12 @@ ruby_init_stack(volatile VALUE *addr ) { 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 (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 = (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 { #if defined(HAVE_GETRLIMIT) -- cgit v1.2.3