summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2020-05-31 14:04:37 +0300
committerJoonas Niilola <juippis@gentoo.org>2020-05-31 15:46:33 +0300
commit1b76343af3ea4da0cf9dba731990a57c38a8cb85 (patch)
tree8900e9fbaffdd2d126038c0849392914d0f0c0cb
parentsys-kernel/pf-sources: bump to 5.6-pf8 (diff)
downloadgentoo-1b76343af3ea4da0cf9dba731990a57c38a8cb85.tar.gz
gentoo-1b76343af3ea4da0cf9dba731990a57c38a8cb85.tar.bz2
gentoo-1b76343af3ea4da0cf9dba731990a57c38a8cb85.zip
sys-devel/distcc: gcc-10 fix from upstream
Closes: https://bugs.gentoo.org/707502 Signed-off-by: Joonas Niilola <juippis@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/16029
-rw-r--r--sys-devel/distcc/distcc-3.3.3-r1.ebuild2
-rw-r--r--sys-devel/distcc/files/distcc-3.3.3-gcc-10-fix.patch28
2 files changed, 30 insertions, 0 deletions
diff --git a/sys-devel/distcc/distcc-3.3.3-r1.ebuild b/sys-devel/distcc/distcc-3.3.3-r1.ebuild
index e3911a71f50..700f331aa62 100644
--- a/sys-devel/distcc/distcc-3.3.3-r1.ebuild
+++ b/sys-devel/distcc/distcc-3.3.3-r1.ebuild
@@ -48,6 +48,8 @@ src_prepare() {
eapply "${FILESDIR}/${PN}-3.2_rc1-socks5.patch"
# backport py3.8 fixes
eapply "${FILESDIR}/${P}-py38.patch"
+ # gcc-10 fix, #707502
+ eapply "${FILESDIR}/${P}-gcc-10-fix.patch"
eapply_user
# Bugs #120001, #167844 and probably more. See patch for description.
diff --git a/sys-devel/distcc/files/distcc-3.3.3-gcc-10-fix.patch b/sys-devel/distcc/files/distcc-3.3.3-gcc-10-fix.patch
new file mode 100644
index 00000000000..2c0bce6c82b
--- /dev/null
+++ b/sys-devel/distcc/files/distcc-3.3.3-gcc-10-fix.patch
@@ -0,0 +1,28 @@
+From 377969cc762569f4a5ec409a1e7ad6a7be3e51b3 Mon Sep 17 00:00:00 2001
+From: Romain Geissler <romain.geissler@amadeus.com>
+Date: Mon, 27 Jan 2020 09:28:43 +0000
+Subject: [PATCH] Fix build with gcc 10 which defaults to -fno-common (cf
+ https://gcc.gnu.org/gcc-10/porting_to.html)
+
+This fixes the following link error I see when I use the latest gcc 10
+git branch:
+/opt/1A/toolchain/x86_64-v20.0.7/lib/gcc/x86_64-1a-linux-gnu/10.0.1/../../../../x86_64-1a-linux-gnu/bin/ld: src/serve.o:(.bss+0x0): multiple definition of `stats_text'; src/prefork.o:(.bss+0x0): first defined here
+/opt/1A/toolchain/x86_64-v20.0.7/lib/gcc/x86_64-1a-linux-gnu/10.0.1/../../../../x86_64-1a-linux-gnu/bin/ld: src/stats.o:(.data+0x20): multiple definition of `stats_text'; src/prefork.o:(.bss+0x0): first defined here
+collect2: error: ld returned 1 exit status
+---
+ src/stats.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/stats.h b/src/stats.h
+index 9bde285..74d4690 100644
+--- a/src/stats.h
++++ b/src/stats.h
+@@ -33,7 +33,7 @@ enum stats_e { STATS_TCP_ACCEPT, STATS_REJ_BAD_REQ, STATS_REJ_OVERLOAD,
+ STATS_COMPILE_OK, STATS_COMPILE_ERROR, STATS_COMPILE_TIMEOUT,
+ STATS_CLI_DISCONN, STATS_OTHER, STATS_ENUM_MAX };
+
+-const char *stats_text[20];
++extern const char *stats_text[20];
+
+ int dcc_stats_init(void);
+ void dcc_stats_init_kid(void);