[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