r66056 - in /trunk/libscope-upper-perl: Changes META.yml README Upper.xs debian/changelog debian/control debian/copyright lib/Scope/Upper.pm t/59-unwind-threads.t

ansgar at users.alioth.debian.org ansgar at users.alioth.debian.org
Tue Dec 21 10:00:24 UTC 2010


Author: ansgar
Date: Tue Dec 21 10:00:04 2010
New Revision: 66056

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=66056
Log:
* New upstream release.
* debian/copyright: Refer to /usr/share/common-licenses/GPL-1; refer to
  "Debian systems" instead of "Debian GNU/Linux systems".
* Bump Standards-Version to 3.9.1.

Modified:
    trunk/libscope-upper-perl/Changes
    trunk/libscope-upper-perl/META.yml
    trunk/libscope-upper-perl/README
    trunk/libscope-upper-perl/Upper.xs
    trunk/libscope-upper-perl/debian/changelog
    trunk/libscope-upper-perl/debian/control
    trunk/libscope-upper-perl/debian/copyright
    trunk/libscope-upper-perl/lib/Scope/Upper.pm
    trunk/libscope-upper-perl/t/59-unwind-threads.t

Modified: trunk/libscope-upper-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/Changes?rev=66056&op=diff
==============================================================================
--- trunk/libscope-upper-perl/Changes (original)
+++ trunk/libscope-upper-perl/Changes Tue Dec 21 10:00:04 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: trunk/libscope-upper-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/META.yml?rev=66056&op=diff
==============================================================================
--- trunk/libscope-upper-perl/META.yml (original)
+++ trunk/libscope-upper-perl/META.yml Tue Dec 21 10:00:04 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: trunk/libscope-upper-perl/README
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/README?rev=66056&op=diff
==============================================================================
--- trunk/libscope-upper-perl/README (original)
+++ trunk/libscope-upper-perl/README Tue Dec 21 10:00:04 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: trunk/libscope-upper-perl/Upper.xs
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/Upper.xs?rev=66056&op=diff
==============================================================================
--- trunk/libscope-upper-perl/Upper.xs (original)
+++ trunk/libscope-upper-perl/Upper.xs Tue Dec 21 10:00:04 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: trunk/libscope-upper-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/debian/changelog?rev=66056&op=diff
==============================================================================
--- trunk/libscope-upper-perl/debian/changelog (original)
+++ trunk/libscope-upper-perl/debian/changelog Tue Dec 21 10:00:04 2010
@@ -1,8 +1,12 @@
-libscope-upper-perl (0.12-2) UNRELEASED; urgency=low
+libscope-upper-perl (0.13-1) unstable; urgency=low
 
+  * New upstream release.
+  * debian/copyright: Refer to /usr/share/common-licenses/GPL-1; refer to
+    "Debian systems" instead of "Debian GNU/Linux systems".
+  * Bump Standards-Version to 3.9.1.
   * Update my email address.
 
- -- Ansgar Burchardt <ansgar at debian.org>  Mon, 01 Nov 2010 11:17:22 +0100
+ -- Ansgar Burchardt <ansgar at debian.org>  Tue, 21 Dec 2010 10:59:05 +0100
 
 libscope-upper-perl (0.12-1) unstable; urgency=low
 

Modified: trunk/libscope-upper-perl/debian/control
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/debian/control?rev=66056&op=diff
==============================================================================
--- trunk/libscope-upper-perl/debian/control (original)
+++ trunk/libscope-upper-perl/debian/control Tue Dec 21 10:00:04 2010
@@ -6,7 +6,7 @@
 Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
 Uploaders: gregor herrmann <gregoa at debian.org>, Jonathan Yu <jawnsy at cpan.org>,
  Ansgar Burchardt <ansgar at debian.org>
-Standards-Version: 3.8.4
+Standards-Version: 3.9.1
 Homepage: http://search.cpan.org/dist/Scope-Upper/
 Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libscope-upper-perl/
 Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libscope-upper-perl/

Modified: trunk/libscope-upper-perl/debian/copyright
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/debian/copyright?rev=66056&op=diff
==============================================================================
--- trunk/libscope-upper-perl/debian/copyright (original)
+++ trunk/libscope-upper-perl/debian/copyright Tue Dec 21 10:00:04 2010
@@ -16,8 +16,8 @@
  This program is free software; you can redistribute it and/or modify
  it under the terms of the Artistic License, which comes with Perl.
  .
- On Debian GNU/Linux systems, the complete text of the Artistic License
- can be found in `/usr/share/common-licenses/Artistic'
+ On Debian systems, the complete text of the Artistic License can be
+ found in `/usr/share/common-licenses/Artistic'.
 
 License: GPL-1+
  This program is free software; you can redistribute it and/or modify
@@ -25,6 +25,6 @@
  the Free Software Foundation; either version 1, or (at your option)
  any later version.
  .
- On Debian GNU/Linux systems, the complete text of the GNU General
- Public License can be found in `/usr/share/common-licenses/GPL'
+ On Debian systems, the complete text of version 1 of the GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL-1'.
 

Modified: trunk/libscope-upper-perl/lib/Scope/Upper.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/lib/Scope/Upper.pm?rev=66056&op=diff
==============================================================================
--- trunk/libscope-upper-perl/lib/Scope/Upper.pm (original)
+++ trunk/libscope-upper-perl/lib/Scope/Upper.pm Tue Dec 21 10:00:04 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: trunk/libscope-upper-perl/t/59-unwind-threads.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libscope-upper-perl/t/59-unwind-threads.t?rev=66056&op=diff
==============================================================================
--- trunk/libscope-upper-perl/t/59-unwind-threads.t (original)
+++ trunk/libscope-upper-perl/t/59-unwind-threads.t Tue Dec 21 10:00:04 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