GCC 10 defaults to -fno-common, which rejects multiple definitions of
global variables, resulting in this for outputs_head:
/usr/sbin/ld: obj/extensions.o:(.bss+0x0): multiple definition of `outputs_head'; obj/event.o:(.bss+0x0): first defined here
/usr/sbin/ld: obj/fake_outputs.o:(.bss+0x0): multiple definition of `outputs_head'; obj/event.o:(.bss+0x0): first defined here
/usr/sbin/ld: obj/pointer.o:(.bss+0x0): multiple definition of `outputs_head'; obj/event.o:(.bss+0x0): first defined here
[...and so on...]
Use -fcommon to go back to the previous behaviour.
GCC 10 defaults to -fno-common, which rejects multiple definitions of global variables, resulting in this for outputs_head:
Use -fcommon to go back to the previous behaviour.