commit:     58ab932cf383aefaab66263f659429889152d569
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  1 20:44:53 2018 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Mon Jan  1 20:45:37 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58ab932c

sys-libs/libstdc++-v3: Fix build with glibc-2.26, bug 637608

We need to patch conditionally since the patch breaks the build with
glibc-2.25.

Closes: https://bugs.gentoo.org/637608
Package-Manager: Portage-2.3.19, Repoman-2.3.6

 .../files/libstdc++-v3-3.3.6-glibc226.patch        | 33 ++++++++++++++++++++++
 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild |  6 +++-
 2 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/sys-libs/libstdc++-v3/files/libstdc++-v3-3.3.6-glibc226.patch 
b/sys-libs/libstdc++-v3/files/libstdc++-v3-3.3.6-glibc226.patch
new file mode 100644
index 00000000000..a444da2d2bf
--- /dev/null
+++ b/sys-libs/libstdc++-v3/files/libstdc++-v3-3.3.6-glibc226.patch
@@ -0,0 +1,33 @@
+diff -ruN gcc-3.3.6.orig/gcc/config/i386/linux.h 
gcc-3.3.6/gcc/config/i386/linux.h
+--- gcc-3.3.6.orig/gcc/config/i386/linux.h     2018-01-01 20:14:36.311860098 
+0100
++++ gcc-3.3.6/gcc/config/i386/linux.h  2018-01-01 20:16:05.912287579 +0100
+@@ -261,7 +261,7 @@
+         siginfo_t *pinfo;                                             \
+         void *puc;                                                    \
+         siginfo_t info;                                               \
+-        struct ucontext uc;                                           \
++        struct ucontext_t uc;                                         \
+       } *rt_ = (CONTEXT)->cfa;                                        \
+       sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext;               \
+       }                                                                       
\
+diff -ruN gcc-3.3.6.orig/gcc/config/i386/linux64.h 
gcc-3.3.6/gcc/config/i386/linux64.h
+--- gcc-3.3.6.orig/gcc/config/i386/linux64.h   2018-01-01 20:14:36.271859907 
+0100
++++ gcc-3.3.6/gcc/config/i386/linux64.h        2018-01-01 20:16:05.912287579 
+0100
+@@ -112,7 +112,7 @@
+     if (*(unsigned char *)(pc_+0) == 0x48                             \
+       && *(unsigned long *)(pc_+1) == 0x050f0000000fc0c7)             \
+       {                                                                       
\
+-      struct ucontext *uc_ = (CONTEXT)->cfa;                          \
++      struct ucontext_t *uc_ = (CONTEXT)->cfa;                                
\
+       sc_ = (struct sigcontext *) &uc_->uc_mcontext;                  \
+       }                                                                       
\
+     else                                                              \
+@@ -182,7 +182,7 @@
+         siginfo_t *pinfo;                                             \
+         void *puc;                                                    \
+         siginfo_t info;                                               \
+-        struct ucontext uc;                                           \
++        struct ucontext_t uc;                                         \
+       } *rt_ = (CONTEXT)->cfa;                                        \
+       sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext;               \
+       }                                                                       
\

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild 
b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild
index 53ec501f081..c90cf870b49 100644
--- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild
+++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 inherit eutils flag-o-matic libtool multilib
@@ -130,6 +130,10 @@ src_unpack() {
        unpack ${A}
        cd "${S}"
        EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
+
+       # bug 637608
+       has_version '>=sys-libs/glibc-2.26' && epatch 
"${FILESDIR}/${P}-glibc226.patch"
+
        elibtoolize --portage --shallow
        ./contrib/gcc_update --touch
        mkdir -p "${WORKDIR}"/build

Reply via email to