bitcoin/bitcoin

View on GitHub
contrib/guix/patches/glibc-2.27-fcommon.patch

Summary

Maintainability
Test Coverage
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.