Amongst the many changes in GCC 10, the use of -fno-common by default explains this behaviour. The fix is therefore valid, moreover explained here; except that I don’t know the effect of the ‘tags’ change in the patch.
I am seeing linking issues with GCC 10, despite the patch now, reported here. Going with clang for now.