diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-01-14 02:32:45 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-01-14 02:32:45 +0000 |
commit | ab4e0ab45802926db03bb2d10b337fa3659bea63 (patch) | |
tree | 18ad07429f95ba9747f4d05f20aab505ef9dcf67 | |
parent | 503e34345917e57aab92148441978d231fab8b7d (diff) | |
download | ruby-ab4e0ab45802926db03bb2d10b337fa3659bea63.tar.gz |
* vm_exec.c (cfp): Fixes a SEGV issue in r44554.
r11 can be broken by subroutine and sometimes causes SEGV at
runtime. Use r13 instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | vm_exec.c | 4 |
2 files changed, 8 insertions, 2 deletions
@@ -1,3 +1,9 @@ +Tue Jan 14 11:28:44 2014 Yuki Yugui Sonoda <yugui@google.com> + + * vm_exec.c (cfp): Fixes a SEGV issue in r44554. + r11 can be broken by subroutine and sometimes causes SEGV at + runtime. Use r13 instead. + Tue Jan 14 02:20:00 2014 Kenta Murata <mrkn@mrkn.jp> * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): Add an additional @@ -47,7 +47,7 @@ vm_exec_core(rb_thread_t *th, VALUE initial) #if OPT_STACK_CACHING #if 0 -#elif __GNUC__ && __x86_64__ +#elif __GNUC__ && __x86_64__ && !defined(__native_client__) DECL_SC_REG(VALUE, a, "12"); DECL_SC_REG(VALUE, b, "13"); #else @@ -64,7 +64,7 @@ vm_exec_core(rb_thread_t *th, VALUE initial) #elif defined(__GNUC__) && defined(__x86_64__) DECL_SC_REG(VALUE *, pc, "14"); # if defined(__native_client__) - DECL_SC_REG(rb_control_frame_t *, cfp, "11"); + DECL_SC_REG(rb_control_frame_t *, cfp, "13"); # else DECL_SC_REG(rb_control_frame_t *, cfp, "15"); # endif |