[libdevel-callparser-perl] 02/03: Fix a pad problem with Perl >= 5.21.4 on threaded builds

Niko Tyni ntyni at moszumanska.debian.org
Sat Dec 26 08:34:40 UTC 2015


This is an automated email from the git hooks/post-receive script.

ntyni pushed a commit to branch master
in repository libdevel-callparser-perl.

commit 0f6c241884f69d6ef59fafe9478cb005f58c9a39
Author: Niko Tyni <ntyni at debian.org>
Date:   Fri Dec 25 21:58:07 2015 +0200

    Fix a pad problem with Perl >= 5.21.4 on threaded builds
    
    Closes: #808826
---
 ...roblem-with-Perl-5.21.4-on-threaded-build.patch | 61 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 2 files changed, 62 insertions(+)

diff --git a/debian/patches/0001-Fix-a-pad-problem-with-Perl-5.21.4-on-threaded-build.patch b/debian/patches/0001-Fix-a-pad-problem-with-Perl-5.21.4-on-threaded-build.patch
new file mode 100644
index 0000000..2649b75
--- /dev/null
+++ b/debian/patches/0001-Fix-a-pad-problem-with-Perl-5.21.4-on-threaded-build.patch
@@ -0,0 +1,61 @@
+From ba92f4cba247c91d100e05f2b83dd093055e462b Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni at debian.org>
+Date: Fri, 25 Dec 2015 18:53:08 +0200
+Subject: [PATCH] Fix a pad problem with Perl >= 5.21.4 on threaded builds
+
+This broke at least the Kavorka and Moops distributions.
+
+Bug-Debian: https://bugs.debian.org/808826
+Bug: https://rt.cpan.org/Public/Bug/Display.html?id=110623
+---
+ lib/Devel/CallParser.xs | 10 +++++++---
+ t/pad2.t                | 15 +++++++++++++++
+ 2 files changed, 22 insertions(+), 3 deletions(-)
+ create mode 100644 t/pad2.t
+
+diff --git a/lib/Devel/CallParser.xs b/lib/Devel/CallParser.xs
+index 6643739..847742c 100644
+--- a/lib/Devel/CallParser.xs
++++ b/lib/Devel/CallParser.xs
+@@ -323,10 +323,14 @@ static int my_keyword_plugin(pTHX_
+ 	 * The core bug was supposedly fixed in Perl 5.19.4, but actually
+ 	 * that version exhibits a different bug also apparently related
+ 	 * to padrange.  Restoring the pad's fill pointer works around
+-	 * this bug too.  So for now this workaround is used with no
+-	 * upper bound on the Perl version.
++	 * this bug too.
++	 *
++	 * The other padrange bug was fixed in Perl 5.19.5 (commit aa033da),
++	 * so the workaround is no longer needed after that, but it remains
++	 * harmless until v5.21.4 (commit c9859fb)  where it starts breaking
++	 * (see t/pad2.t.)
+ 	 */
+-#define MUST_RESTORE_PAD_FILL PERL_VERSION_GE(5,17,6)
++#define MUST_RESTORE_PAD_FILL PERL_VERSION_GE(5,17,6) && ! PERL_VERSION_GE(5,19,5)
+ #if MUST_RESTORE_PAD_FILL
+ 	I32 padfill = av_len(PL_comppad);
+ #endif /* MUST_RESTORE_PAD_FILL */
+diff --git a/t/pad2.t b/t/pad2.t
+new file mode 100644
+index 0000000..92c6dab
+--- /dev/null
++++ b/t/pad2.t
+@@ -0,0 +1,15 @@
++use warnings;
++use strict;
++
++use Test::More tests => 1;
++
++use Devel::CallParser;
++
++sub f {
++  my $arg = shift;
++
++  { my $arg; } # ???
++  ok($arg, '$arg stays set after a "my $arg" block');
++}
++
++f(1);
+-- 
+2.6.4
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..5c782c6
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+0001-Fix-a-pad-problem-with-Perl-5.21.4-on-threaded-build.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libdevel-callparser-perl.git



More information about the Pkg-perl-cvs-commits mailing list