Without -fcommon we get an error due to program_name being used in two
source files:
ld: error: duplicate symbol: program_name
>>> defined at global.c
>>> global.o:(program_name)
>>> defined at progname.c
>>> progname.o:(.bss+0x0) in archive ../gnu/libgnu.a
clang-12: error: linker command failed with exit code 1 (use -v to see invocation)