Frank Leonhardt - 2024-08-28

The newer versions of gcc no longer allows tentative definitions by default (although it's in the 'C' standard). This basically means that when a variable is defined in common.h and a 'C' source it'll put two distinct ones in BSS, which will barf the link editor. If that's not basic enough, you'll get double definition errors when it links.

The solution is to add the -lcommon flag to the gcc COMPILER options, which makes it merge tentative definitions like it should in 'C' (but not in 'C++).