From 58ab932cf383aefaab66263f659429889152d569 Mon Sep 17 00:00:00 2001 From: "Andreas K. Hüttel" Date: Mon, 1 Jan 2018 21:44:53 +0100 Subject: 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(-) create mode 100644 sys-libs/libstdc++-v3/files/libstdc++-v3-3.3.6-glibc226.patch (limited to 'sys-libs') 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 000000000000..a444da2d2bfc --- /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 53ec501f081d..c90cf870b492 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 -- cgit v1.2.3-65-gdbad