public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas K. Hüttel" <dilfridge@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/perl/files/, dev-lang/perl/
Date: Sun, 30 Dec 2018 21:26:55 +0000 (UTC)	[thread overview]
Message-ID: <1546205198.e576790a512945d1884868c55e87721b4d75b56b.dilfridge@gentoo> (raw)

commit:     e576790a512945d1884868c55e87721b4d75b56b
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 30 21:26:22 2018 +0000
Commit:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sun Dec 30 21:26:38 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e576790a

dev-lang/perl: Add hppa workaround, bug 634162

Patch from Debian, see https://bugs.debian.org/869122

Closes: https://bugs.gentoo.org/634162
Package-Manager: Portage-2.3.53, Repoman-2.3.12
Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>

 dev-lang/perl/files/perl-5.26.2-hppa.patch | 105 +++++++++++++++++++++++++++++
 dev-lang/perl/perl-5.26.2.ebuild           |   4 ++
 dev-lang/perl/perl-5.26.9999.ebuild        |   4 ++
 dev-lang/perl/perl-5.28.0.ebuild           |   4 ++
 dev-lang/perl/perl-5.28.9999.ebuild        |   4 ++
 5 files changed, 121 insertions(+)

diff --git a/dev-lang/perl/files/perl-5.26.2-hppa.patch b/dev-lang/perl/files/perl-5.26.2-hppa.patch
new file mode 100644
index 00000000000..83ed944353e
--- /dev/null
+++ b/dev-lang/perl/files/perl-5.26.2-hppa.patch
@@ -0,0 +1,105 @@
+https://bugs.gentoo.org/634162
+
+Source:
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=869122
+
+Index: perl-5.26.0/op.c
+===================================================================
+--- perl-5.26.0.orig/op.c
++++ perl-5.26.0/op.c
+@@ -14832,6 +14832,7 @@ Perl_custom_op_get_field(pTHX_ const OP
+     SV *keysv;
+     HE *he = NULL;
+     XOP *xop;
++    XOPRETANY any;
+ 
+     static const XOP xop_null = { 0, 0, 0, 0, 0 };
+ 
+@@ -14874,58 +14875,37 @@ Perl_custom_op_get_field(pTHX_ const OP
+ 	else
+ 	    xop = INT2PTR(XOP *, SvIV(HeVAL(he)));
+     }
+-    {
+-	XOPRETANY any;
+-	if(field == XOPe_xop_ptr) {
+-	    any.xop_ptr = xop;
+-	} else {
+-	    const U32 flags = XopFLAGS(xop);
+-	    if(flags & field) {
+-		switch(field) {
+-		case XOPe_xop_name:
+-		    any.xop_name = xop->xop_name;
+-		    break;
+-		case XOPe_xop_desc:
+-		    any.xop_desc = xop->xop_desc;
+-		    break;
+-		case XOPe_xop_class:
+-		    any.xop_class = xop->xop_class;
+-		    break;
+-		case XOPe_xop_peep:
+-		    any.xop_peep = xop->xop_peep;
+-		    break;
+-		default:
+-		    NOT_REACHED; /* NOTREACHED */
+-		    break;
+-		}
+-	    } else {
+-		switch(field) {
+-		case XOPe_xop_name:
+-		    any.xop_name = XOPd_xop_name;
+-		    break;
+-		case XOPe_xop_desc:
+-		    any.xop_desc = XOPd_xop_desc;
+-		    break;
+-		case XOPe_xop_class:
+-		    any.xop_class = XOPd_xop_class;
+-		    break;
+-		case XOPe_xop_peep:
+-		    any.xop_peep = XOPd_xop_peep;
+-		    break;
+-		default:
+-		    NOT_REACHED; /* NOTREACHED */
+-		    break;
+-		}
+-	    }
++
++    if(field == XOPe_xop_ptr) {
++        any.xop_ptr = xop;
++    } else {
++        const U32 flags = XopFLAGS(xop);
++        switch(field) {
++        case XOPe_xop_name:
++            any.xop_name = (flags & field) ? xop->xop_name : XOPd_xop_name;
++            break;
++        case XOPe_xop_desc:
++            any.xop_desc = (flags & field) ? xop->xop_desc : XOPd_xop_desc;
++            break;
++        case XOPe_xop_class:
++            any.xop_class = (flags & field) ? xop->xop_class : XOPd_xop_class;
++            break;
++        case XOPe_xop_peep:
++            any.xop_peep = (flags & field) ? xop->xop_peep : XOPd_xop_peep;
++            break;
++        default:
++            NOT_REACHED; /* NOTREACHED */
++            break;
+ 	}
+-        /* On some platforms (HP-UX, IA64) gcc emits a warning for this function:
+-         * op.c: In function 'Perl_custom_op_get_field':
+-         * op.c:...: warning: 'any.xop_name' may be used uninitialized in this function [-Wmaybe-uninitialized]
+-         * This is because on those platforms (with -DEBUGGING) NOT_REACHED
+-         * expands to assert(0), which expands to ((0) ? (void)0 :
+-         * __assert(...)), and gcc doesn't know that __assert can never return. */
+-	return any;
+     }
++
++    /* On some platforms (HP-UX, IA64) gcc emits a warning for this function:
++     * op.c: In function 'Perl_custom_op_get_field':
++     * op.c:...: warning: 'any.xop_name' may be used uninitialized in this function [-Wmaybe-uninitialized]
++     * This is because on those platforms (with -DEBUGGING) NOT_REACHED
++     * expands to assert(0), which expands to ((0) ? (void)0 :
++     * __assert(...)), and gcc doesn't know that __assert can never return. */
++    return any;
+ }
+ 
+ /*

diff --git a/dev-lang/perl/perl-5.26.2.ebuild b/dev-lang/perl/perl-5.26.2.ebuild
index e2af84bf47d..3efe8267e5b 100644
--- a/dev-lang/perl/perl-5.26.2.ebuild
+++ b/dev-lang/perl/perl-5.26.2.ebuild
@@ -307,6 +307,10 @@ src_prepare() {
 	local patch
 	EPATCH_OPTS+=" -p1"
 
+	if use hppa ; then
+		epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
+	fi
+
 	if [[ ${CHOST} == *-solaris* ]] ; then
 		# do NOT mess with nsl, on Solaris this is always necessary,
 		# when -lsocket is used e.g. to get h_errno

diff --git a/dev-lang/perl/perl-5.26.9999.ebuild b/dev-lang/perl/perl-5.26.9999.ebuild
index e2af84bf47d..3efe8267e5b 100644
--- a/dev-lang/perl/perl-5.26.9999.ebuild
+++ b/dev-lang/perl/perl-5.26.9999.ebuild
@@ -307,6 +307,10 @@ src_prepare() {
 	local patch
 	EPATCH_OPTS+=" -p1"
 
+	if use hppa ; then
+		epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
+	fi
+
 	if [[ ${CHOST} == *-solaris* ]] ; then
 		# do NOT mess with nsl, on Solaris this is always necessary,
 		# when -lsocket is used e.g. to get h_errno

diff --git a/dev-lang/perl/perl-5.28.0.ebuild b/dev-lang/perl/perl-5.28.0.ebuild
index a88e2d54acf..13cbdc3c005 100644
--- a/dev-lang/perl/perl-5.28.0.ebuild
+++ b/dev-lang/perl/perl-5.28.0.ebuild
@@ -307,6 +307,10 @@ src_prepare() {
 	local patch
 	EPATCH_OPTS+=" -p1"
 
+	if use hppa ; then
+		epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
+	fi
+
 	if [[ ${CHOST} == *-solaris* ]] ; then
 		# do NOT mess with nsl, on Solaris this is always necessary,
 		# when -lsocket is used e.g. to get h_errno

diff --git a/dev-lang/perl/perl-5.28.9999.ebuild b/dev-lang/perl/perl-5.28.9999.ebuild
index a88e2d54acf..13cbdc3c005 100644
--- a/dev-lang/perl/perl-5.28.9999.ebuild
+++ b/dev-lang/perl/perl-5.28.9999.ebuild
@@ -307,6 +307,10 @@ src_prepare() {
 	local patch
 	EPATCH_OPTS+=" -p1"
 
+	if use hppa ; then
+		epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
+	fi
+
 	if [[ ${CHOST} == *-solaris* ]] ; then
 		# do NOT mess with nsl, on Solaris this is always necessary,
 		# when -lsocket is used e.g. to get h_errno


             reply	other threads:[~2018-12-30 21:26 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-30 21:26 Andreas K. Hüttel [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-01-20 12:04 [gentoo-commits] repo/gentoo:master commit in: dev-lang/perl/files/, dev-lang/perl/ Sam James
2023-12-28  3:53 Sam James
2023-05-01 21:56 Andreas K. Hüttel
2023-01-19  2:27 Sam James
2021-10-09 14:26 Andreas K. Hüttel
2020-08-07 21:05 Kent Fredric
2020-03-21 22:59 Sergei Trofimovich
2019-04-07 14:10 Andreas K. Hüttel
2018-02-22 23:48 Andreas Hüttel
2017-01-05  9:43 Andreas Hüttel
2016-12-29 16:53 Andreas Hüttel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1546205198.e576790a512945d1884868c55e87721b4d75b56b.dilfridge@gentoo \
    --to=dilfridge@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox