summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2018-01-01 21:44:53 +0100
committerAndreas K. Hüttel <dilfridge@gentoo.org>2018-01-01 21:45:37 +0100
commit58ab932cf383aefaab66263f659429889152d569 (patch)
treeffc9c6c4cf5324d759e23c7c78d4f5e7d1923fc6
parentmail-client/mailx: use https to make repoman happy (diff)
downloadgentoo-58ab932cf383aefaab66263f659429889152d569.tar.gz
gentoo-58ab932cf383aefaab66263f659429889152d569.tar.bz2
gentoo-58ab932cf383aefaab66263f659429889152d569.zip
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
-rw-r--r--sys-libs/libstdc++-v3/files/libstdc++-v3-3.3.6-glibc226.patch33
-rw-r--r--sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild6
2 files changed, 38 insertions, 1 deletions
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