r66054 - in /branches/upstream/libscope-upper-perl/current: Changes META.yml README Upper.xs lib/Scope/Upper.pm t/59-unwind-threads.t
ansgar at users.alioth.debian.org
ansgar at users.alioth.debian.org
Tue Dec 21 09:56:13 UTC 2010
Author: ansgar
Date: Tue Dec 21 09:56:06 2010
New Revision: 66054
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=66054
Log:
[svn-upgrade] new version libscope-upper-perl (0.13)
Modified:
branches/upstream/libscope-upper-perl/current/Changes
branches/upstream/libscope-upper-perl/current/META.yml
branches/upstream/libscope-upper-perl/current/README
branches/upstream/libscope-upper-perl/current/Upper.xs
branches/upstream/libscope-upper-perl/current/lib/Scope/Upper.pm
branches/upstream/libscope-upper-perl/current/t/59-unwind-threads.t
Modified: branches/upstream/libscope-upper-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libscope-upper-perl/current/Changes?rev=66054&op=diff
==============================================================================
--- branches/upstream/libscope-upper-perl/current/Changes (original)
+++ branches/upstream/libscope-upper-perl/current/Changes Tue Dec 21 09:56:06 2010
@@ -1,4 +1,17 @@
Revision history for Scope-Upper
+
+0.13 2010-12-20 01:00 UTC
+ + Fix : [RT #61904] : Stack corruption when using unwind() under
+ Devel::NYTProf.
+ Thanks Sergey Aleynikov for contributing a fix.
+ + Fix : [RT #63378] : Compatibility with perl 5.13.8.
+ Thanks Andreas J. König for bisecting the issue.
+ + Tst : Threads tests are now only run on perl 5.13.4 and higher.
+ They could segfault randomly because of what seems to be an
+ internal bug of Perl, which has been addressed in 5.13.4.
+ There is also an environment variable that allows you to
+ forcefully run those tests, but it should be set only for
+ author testing and not for end users.
0.12 2010-05-19 00:45 UTC
+ Fix : Compatibility with perl 5.13.
Modified: branches/upstream/libscope-upper-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libscope-upper-perl/current/META.yml?rev=66054&op=diff
==============================================================================
--- branches/upstream/libscope-upper-perl/current/META.yml (original)
+++ branches/upstream/libscope-upper-perl/current/META.yml Tue Dec 21 09:56:06 2010
@@ -1,6 +1,6 @@
--- #YAML:1.0
name: Scope-Upper
-version: 0.12
+version: 0.13
abstract: Act on upper scopes.
author:
- Vincent Pit <perl at profvince.com>
Modified: branches/upstream/libscope-upper-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libscope-upper-perl/current/README?rev=66054&op=diff
==============================================================================
--- branches/upstream/libscope-upper-perl/current/README (original)
+++ branches/upstream/libscope-upper-perl/current/README Tue Dec 21 09:56:06 2010
@@ -2,7 +2,7 @@
Scope::Upper - Act on upper scopes.
VERSION
- Version 0.12
+ Version 0.13
SYNOPSIS
"reap", "localize", "localize_elem", "localize_delete" and "WORDS" :
Modified: branches/upstream/libscope-upper-perl/current/Upper.xs
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libscope-upper-perl/current/Upper.xs?rev=66054&op=diff
==============================================================================
--- branches/upstream/libscope-upper-perl/current/Upper.xs (original)
+++ branches/upstream/libscope-upper-perl/current/Upper.xs Tue Dec 21 09:56:06 2010
@@ -120,11 +120,12 @@
#define MY_CXT_KEY __PACKAGE__ "::_guts" XS_VERSION
typedef struct {
- char *stack_placeholder;
- I32 cxix;
- I32 items;
- SV **savesp;
- OP fakeop;
+ char *stack_placeholder;
+ I32 cxix;
+ I32 items;
+ SV **savesp;
+ LISTOP return_op;
+ OP proxy_op;
} my_cxt_t;
START_MY_CXT
@@ -166,8 +167,10 @@
# define SU_SAVE_GP_SIZE 6
#elif !SU_HAS_PERL(5, 13, 0) || (SU_RELEASE && SU_HAS_PERL_EXACT(5, 13, 0))
# define SU_SAVE_GP_SIZE 3
+#elif !SU_HAS_PERL(5, 13, 8)
+# define SU_SAVE_GP_SIZE 4
#else
-# define SU_SAVE_GP_SIZE 4
+# define SU_SAVE_GP_SIZE 3
#endif
#ifndef SvCANEXISTDELETE
@@ -757,11 +760,13 @@
items, PL_stack_sp - PL_stack_base, *PL_markstack_ptr, mark);
});
- PL_op = PL_ppaddr[OP_RETURN](aTHX);
+ PL_op = (OP *) &(MY_CXT.return_op);
+ PL_op = PL_op->op_ppaddr(aTHX);
+
*PL_markstack_ptr = mark;
- MY_CXT.fakeop.op_next = PL_op;
- PL_op = &(MY_CXT.fakeop);
+ MY_CXT.proxy_op.op_next = PL_op;
+ PL_op = &(MY_CXT.proxy_op);
}
/* --- XS ------------------------------------------------------------------ */
@@ -878,7 +883,17 @@
HV *stash;
MY_CXT_INIT;
+
MY_CXT.stack_placeholder = NULL;
+
+ /* NewOp() calls calloc() which just zeroes the memory with memset(). */
+ Zero(&(MY_CXT.return_op), 1, sizeof(MY_CXT.return_op));
+ MY_CXT.return_op.op_type = OP_RETURN;
+ MY_CXT.return_op.op_ppaddr = PL_ppaddr[OP_RETURN];
+
+ Zero(&(MY_CXT.proxy_op), 1, sizeof(MY_CXT.proxy_op));
+ MY_CXT.proxy_op.op_type = OP_STUB;
+ MY_CXT.proxy_op.op_ppaddr = NULL;
stash = gv_stashpv(__PACKAGE__, 1);
newCONSTSUB(stash, "TOP", newSViv(0));
Modified: branches/upstream/libscope-upper-perl/current/lib/Scope/Upper.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libscope-upper-perl/current/lib/Scope/Upper.pm?rev=66054&op=diff
==============================================================================
--- branches/upstream/libscope-upper-perl/current/lib/Scope/Upper.pm (original)
+++ branches/upstream/libscope-upper-perl/current/lib/Scope/Upper.pm Tue Dec 21 09:56:06 2010
@@ -9,13 +9,13 @@
=head1 VERSION
-Version 0.12
+Version 0.13
=cut
our $VERSION;
BEGIN {
- $VERSION = '0.12';
+ $VERSION = '0.13';
}
=head1 SYNOPSIS
Modified: branches/upstream/libscope-upper-perl/current/t/59-unwind-threads.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libscope-upper-perl/current/t/59-unwind-threads.t?rev=66054&op=diff
==============================================================================
--- branches/upstream/libscope-upper-perl/current/t/59-unwind-threads.t (original)
+++ branches/upstream/libscope-upper-perl/current/t/59-unwind-threads.t Tue Dec 21 09:56:06 2010
@@ -12,9 +12,14 @@
use Config qw/%Config/;
BEGIN {
+ my $force = $ENV{PERL_SCOPE_UPPER_TEST_THREADS} ? 1 : !1;
+ my $t_v = $force ? '0' : '1.67';
skipall 'This perl wasn\'t built to support threads'
unless $Config{useithreads};
- skipall 'threads required to test thread safety' unless eval "use threads; 1";
+ skipall 'perl 5.13.4 required to test thread safety'
+ unless $force or $] >= 5.013004;
+ skipall "threads $t_v required to test thread safety"
+ unless eval "use threads $t_v; 1";
}
use Test::More;
More information about the Pkg-perl-cvs-commits
mailing list