commit:     1b76343af3ea4da0cf9dba731990a57c38a8cb85
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Sun May 31 11:04:37 2020 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sun May 31 12:46:33 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b76343a

sys-devel/distcc: gcc-10 fix from upstream

Closes: https://bugs.gentoo.org/707502
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/16029

 sys-devel/distcc/distcc-3.3.3-r1.ebuild            |  2 ++
 .../distcc/files/distcc-3.3.3-gcc-10-fix.patch     | 28 ++++++++++++++++++++++
 2 files changed, 30 insertions(+)

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.geiss...@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);

Reply via email to