aboutsummaryrefslogtreecommitdiff
path: root/contrib/guix/patches/glibc-2.27-fcommon.patch
blob: f8d14837fcf726a1849137f131c4d6ccafccddd4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
commit 264a4a0dbe1f4369db315080034b500bed66016c
Author: fanquake <fanquake@gmail.com>
Date:   Fri May 6 11:03:04 2022 +0100

    build: use -fcommon to retain legacy behaviour with GCC 10
    
    GCC 10 started using -fno-common by default, which causes issues with
    the powerpc builds using gibc 2.27. A patch was committed to glibc to fix
    the issue, 18363b4f010da9ba459b13310b113ac0647c2fcc but is non-trvial
    to backport, and was broken in at least one way, see the followup in
    commit 7650321ce037302bfc2f026aa19e0213b8d02fe6.
    
    For now, retain the legacy GCC behaviour by passing -fcommon when
    building glibc.
    
    https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html.
    https://sourceware.org/git/?p=glibc.git;a=commit;h=18363b4f010da9ba459b13310b113ac0647c2fcc
    https://sourceware.org/git/?p=glibc.git;a=commit;h=7650321ce037302bfc2f026aa19e0213b8d02fe6

    This patch can be dropped when we are building with glibc 2.31+.

diff --git a/Makeconfig b/Makeconfig
index 86a71e5802..aa2166be60 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -896,7 +896,7 @@ ifeq	"$(strip $(+cflags))" ""
 endif	# $(+cflags) == ""
 
 +cflags += $(cflags-cpu) $(+gccwarn) $(+merge-constants) $(+math-flags) \
-	   $(+stack-protector)
+	   $(+stack-protector) -fcommon
 +gcc-nowarn := -w
 
 # Don't duplicate options if we inherited variables from the parent.