From owner-svn-ports-head@freebsd.org Wed Dec 7 16:08:55 2016 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F2C38C6BC7C; Wed, 7 Dec 2016 16:08:55 +0000 (UTC) (envelope-from swills@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B3618656; Wed, 7 Dec 2016 16:08:55 +0000 (UTC) (envelope-from swills@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id uB7G8so8044762; Wed, 7 Dec 2016 16:08:54 GMT (envelope-from swills@FreeBSD.org) Received: (from swills@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id uB7G8s58044756; Wed, 7 Dec 2016 16:08:54 GMT (envelope-from swills@FreeBSD.org) Message-Id: <201612071608.uB7G8s58044756@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: swills set sender to swills@FreeBSD.org using -f From: Steve Wills Date: Wed, 7 Dec 2016 16:08:54 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r428067 - in head: Mk lang/ruby23/files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Dec 2016 16:08:56 -0000 Author: swills Date: Wed Dec 7 16:08:54 2016 New Revision: 428067 URL: https://svnweb.freebsd.org/changeset/ports/428067 Log: lang/ruby23: fix setjmp clobbered variables PR: 206111 Submitted by: dim Added: head/lang/ruby23/files/patch-eval.c (contents, props changed) head/lang/ruby23/files/patch-eval_error.c (contents, props changed) head/lang/ruby23/files/patch-thread.c (contents, props changed) head/lang/ruby23/files/patch-vm_eval.c (contents, props changed) head/lang/ruby23/files/patch-vm_trace.c (contents, props changed) Modified: head/Mk/bsd.ruby.mk Modified: head/Mk/bsd.ruby.mk ============================================================================== --- head/Mk/bsd.ruby.mk Wed Dec 7 15:34:35 2016 (r428066) +++ head/Mk/bsd.ruby.mk Wed Dec 7 16:08:54 2016 (r428067) @@ -175,7 +175,7 @@ RUBY22= "" # PLIST_SUB helpers # Ruby 2.3 # RUBY_RELVERSION= 2.3.3 -RUBY_PORTREVISION= 0 +RUBY_PORTREVISION= 1 RUBY_PORTEPOCH= 1 RUBY_PATCHLEVEL= 0 RUBY23= "" # PLIST_SUB helpers Added: head/lang/ruby23/files/patch-eval.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/ruby23/files/patch-eval.c Wed Dec 7 16:08:54 2016 (r428067) @@ -0,0 +1,20 @@ +--- eval.c.orig 2015-11-20 01:17:25.000000000 +0100 ++++ eval.c 2016-01-10 19:24:26.101707000 +0100 +@@ -788,7 +788,7 @@ rb_rescue2(VALUE (* b_proc) (ANYARGS), V + { + int state; + rb_thread_t *th = GET_THREAD(); +- rb_control_frame_t *cfp = th->cfp; ++ rb_control_frame_t *volatile cfp = th->cfp; + volatile VALUE result = Qfalse; + volatile VALUE e_info = th->errinfo; + va_list args; +@@ -854,7 +854,7 @@ rb_protect(VALUE (* proc) (VALUE), VALUE + volatile VALUE result = Qnil; + volatile int status; + rb_thread_t *th = GET_THREAD(); +- rb_control_frame_t *cfp = th->cfp; ++ rb_control_frame_t *volatile cfp = th->cfp; + struct rb_vm_protect_tag protect_tag; + rb_jmpbuf_t org_jmpbuf; + Added: head/lang/ruby23/files/patch-eval_error.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/ruby23/files/patch-eval_error.c Wed Dec 7 16:08:54 2016 (r428067) @@ -0,0 +1,15 @@ +--- eval_error.c.orig 2015-10-31 02:22:51.000000000 +0100 ++++ eval_error.c 2016-01-10 19:24:26.104099000 +0100 +@@ -80,9 +80,9 @@ static void + error_print(void) + { + volatile VALUE errat = Qundef; +- rb_thread_t *th = GET_THREAD(); +- VALUE errinfo = th->errinfo; +- int raised_flag = th->raised_flag; ++ rb_thread_t *volatile th = GET_THREAD(); ++ volatile VALUE errinfo = th->errinfo; ++ volatile int raised_flag = th->raised_flag; + volatile VALUE eclass = Qundef, e = Qundef; + const char *volatile einfo; + volatile long elen; Added: head/lang/ruby23/files/patch-thread.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/ruby23/files/patch-thread.c Wed Dec 7 16:08:54 2016 (r428067) @@ -0,0 +1,13 @@ +--- thread.c.orig 2015-12-09 01:38:32.000000000 +0100 ++++ thread.c 2016-01-10 19:24:26.106834000 +0100 +@@ -466,8 +466,8 @@ rb_threadptr_unlock_all_locking_mutexes( + void + rb_thread_terminate_all(void) + { +- rb_thread_t *th = GET_THREAD(); /* main thread */ +- rb_vm_t *vm = th->vm; ++ rb_thread_t *volatile th = GET_THREAD(); /* main thread */ ++ rb_vm_t *volatile vm = th->vm; + volatile int sleeping = 0; + + if (vm->main_thread != th) { Added: head/lang/ruby23/files/patch-vm_eval.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/ruby23/files/patch-vm_eval.c Wed Dec 7 16:08:54 2016 (r428067) @@ -0,0 +1,22 @@ +--- vm_eval.c.orig 2015-12-12 10:51:30.000000000 +0100 ++++ vm_eval.c 2016-01-10 19:24:26.109468000 +0100 +@@ -1267,7 +1267,7 @@ eval_string_with_cref(VALUE self, VALUE + int state; + VALUE result = Qundef; + VALUE envval; +- rb_thread_t *th = GET_THREAD(); ++ rb_thread_t *volatile th = GET_THREAD(); + rb_env_t *env = NULL; + rb_block_t block, *base_block; + volatile int parse_in_eval; +@@ -2001,8 +2001,8 @@ rb_catch_protect(VALUE t, rb_block_call_ + { + int state; + volatile VALUE val = Qnil; /* OK */ +- rb_thread_t *th = GET_THREAD(); +- rb_control_frame_t *saved_cfp = th->cfp; ++ rb_thread_t *volatile th = GET_THREAD(); ++ rb_control_frame_t *volatile saved_cfp = th->cfp; + volatile VALUE tag = t; + + TH_PUSH_TAG(th); Added: head/lang/ruby23/files/patch-vm_trace.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/ruby23/files/patch-vm_trace.c Wed Dec 7 16:08:54 2016 (r428067) @@ -0,0 +1,11 @@ +--- vm_trace.c.orig 2015-12-14 03:52:14.000000000 +0100 ++++ vm_trace.c 2016-01-10 19:24:26.111975000 +0100 +@@ -389,7 +389,7 @@ rb_suppress_tracing(VALUE (*func)(VALUE) + volatile int raised; + volatile int outer_state; + VALUE result = Qnil; +- rb_thread_t *th = GET_THREAD(); ++ rb_thread_t *volatile th = GET_THREAD(); + int state; + const int tracing = th->trace_arg ? 1 : 0; + rb_trace_arg_t dummy_trace_arg;