summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 e3911a71f501..700f331aa62b 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 000000000000..2c0bce6c82b6
--- /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);