GCC 10 fixes

David Seifert soap at gentoo.org
Mon Feb 10 16:59:53 CET 2020

Dear Tex Live community,
GCC 10 will be switching its default symbol emission mode from -fcommon to -fno-
common, which is the same model as used by C++ (
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85678). In effect, programmers
should not define variables in headers. Instead, they should declare them in
headers, and define them exactly once. You can emulate the GCC 10 behaviour by
compiling sources with CFLAGS="-fno-common" and noticing that texlive defines
(and not just declares) multiple variables in headers. We have a Gentoo Bug at


I have fixed all headers to just declare variables, and then define the
variables in their adjacent .c files. Find my attached patch at


It would be nice if we could still get this included for texlive-2020, so we
don't have to carry this patch for when GCC 10 hits the ground.


More information about the tex-live mailing list.