This is an automated email from the git hooks/post-receive script. ntyni pushed a commit to branch master in repository libapache2-mod-perl2.
commit 3466aeed4851a94b54d8d7d026108aa71f3d5e14 Author: Niko Tyni <nt...@debian.org> Date: Sat Aug 9 16:56:40 2014 +0300 Fix invalid code in modperl_env.c that was the root cause of the gcc-4.9 breakage. Thanks to Matthias Klose and Richard Biener. (Closes: #757240) --- debian/changelog | 3 ++ ...-code-that-breaks-with-GCC-4.9-ftree-dse-.patch | 41 ++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 45 insertions(+) diff --git a/debian/changelog b/debian/changelog index 704a807..e75e58e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,9 @@ libapache2-mod-perl2 (2.0.9~1604013-2) UNRELEASED; urgency=medium * Fix intermittent failures in t/apache/read3.t. (Closes: #697682) + * Fix invalid code in modperl_env.c that was the root cause of + the gcc-4.9 breakage. Thanks to Matthias Klose and Richard Biener. + (Closes: #757240) -- Niko Tyni <nt...@debian.org> Sat, 09 Aug 2014 16:48:01 +0300 diff --git a/debian/patches/440-Fix-invalid-code-that-breaks-with-GCC-4.9-ftree-dse-.patch b/debian/patches/440-Fix-invalid-code-that-breaks-with-GCC-4.9-ftree-dse-.patch new file mode 100644 index 0000000..3059e6e --- /dev/null +++ b/debian/patches/440-Fix-invalid-code-that-breaks-with-GCC-4.9-ftree-dse-.patch @@ -0,0 +1,41 @@ +From 8c5e3984155dd3c32f627a0bfe0e9e67e7ed873a Mon Sep 17 00:00:00 2001 +From: Niko Tyni <nt...@debian.org> +Date: Sat, 9 Aug 2014 16:42:49 +0300 +Subject: [PATCH] Fix invalid code that breaks with GCC 4.9 -ftree-dse + optimization + +This fixes SIGSEGVs at the start of the test suite when built with +GCC-4.9 at -O2 (which includes -ftree-dse). + +Quoting Richard Biener in https://gcc.gnu.org/PR62035 : + +> so 'sv' is declared inside the 'else' but you make its address escape +> through the 'svp' variable declared in the outer block. + +Bug-Debian: http://bugs.debian.org/754901 +--- + src/modules/perl/modperl_env.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/modules/perl/modperl_env.c b/src/modules/perl/modperl_env.c +index 769fd2c..c1a276b 100644 +--- a/src/modules/perl/modperl_env.c ++++ b/src/modules/perl/modperl_env.c +@@ -37,12 +37,13 @@ static unsigned long modperl_interp_address(pTHX) + #define MP_ENV_HV_STORE(hv, key, val) STMT_START { \ + I32 klen = strlen(key); \ + SV **svp = hv_fetch(hv, key, klen, FALSE); \ ++ SV *sv; \ + \ + if (svp) { \ + sv_setpv(*svp, val); \ + } \ + else { \ +- SV *sv = newSVpv(val, 0); \ ++ sv = newSVpv(val, 0); \ + (void)hv_store(hv, key, klen, sv, FALSE); \ + modperl_envelem_tie(sv, key, klen); \ + svp = &sv; \ +-- +2.1.0.rc1 + diff --git a/debian/patches/series b/debian/patches/series index 24bf162..65cfafd 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -19,3 +19,4 @@ avoid-db-linkage.patch 410-Restore-httpd-2.4-compatibility-in-lib-Apache2-compa.patch 420-Mark-failing-tests-in-t-perl-ithreads3.t-as-TODO.patch 430-Don-t-answer-anything-to-the-client-before-it-s-done.patch +440-Fix-invalid-code-that-breaks-with-GCC-4.9-ftree-dse-.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libapache2-mod-perl2.git _______________________________________________ Pkg-perl-cvs-commits mailing list Pkg-perl-cvs-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits