Hello,
GCC 10 and Clang 11 will enable the -fno-common CFLAG by default.
Accordingly, I plan to run a mock rebuild of the distribution with
-fno-common in $CFLAGS.
Any package which fails to build with -fno-common will have a bug
filed against it, as we need to fix these before we update to GCC
10, which will likely happen shortly after 3.12 release.
-fno-common disallows situations where the same symbol is declared
with non-extern linkage in two or more source files. For example,
if a.c and b.c both have print_variable() as a local function not
explicitly marked static, then the -fno-common binary will fail to
link. This can also commonly happen where two source files
declare a variable, either failing to declare it with static linkage
or with extern linkage to resolve the ambiguity in dependent files.
Gentoo has a nice wiki page about this:
https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common
The mass rebuild will likely run this weekend, and any failures will
be reported over the next week.
Ariadne