diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-01-10 09:22:37 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-01-10 09:22:37 +0000 |
commit | e85e95c409dbda989c8a815dcf7adcac1306b3f5 (patch) | |
tree | 316a0186b5a321f65b6047a3c0fcd701ce295192 | |
parent | aee9f2879d02899a83bcba80010516e9c6d8fda7 (diff) |
* vm_exec.c (cfp): Avoid generating invalid binary for
NativeClient.
r15 on x86_64 is reserved by NativeClient. So r15 to cfp used to
generate invalid binary under some combinations of compiler
optimization flags.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | vm_exec.c | 4 |
2 files changed, 12 insertions, 0 deletions
@@ -1,3 +1,11 @@ +Fri Jan 10 16:27:20 2014 Yuki Yugui Sonoda <yugui@google.com> + + * vm_exec.c (cfp): Avoid generating invalid binary for + NativeClient. + r15 on x86_64 is reserved by NativeClient. So r15 to cfp used to + generate invalid binary under some combinations of compiler + optimization flags. + Fri Jan 10 18:01:41 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> * vm_insnhelper.c (vm_search_super_method): allow bound method from a @@ -63,7 +63,11 @@ 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"); +# else DECL_SC_REG(rb_control_frame_t *, cfp, "15"); +# endif #define USE_MACHINE_REGS 1 #else |