https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91766
Wilco <wilco at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wilco at gcc dot gnu.org --- Comment #7 from Wilco <wilco at gcc dot gnu.org> --- (In reply to Eric Gallager from comment #6) > (In reply to Wilco from comment #4) > > (In reply to martin krastev from comment #3) > > > So it appears to be a clash between -fcommon and -fvisibility=hidden > > > during > > > -fpic -- passing either -fno-common or -fno-pic drops the GOT indirection. > > > And explicitly hiding the symbol obviously solves it. But the crux of the > > > issue, IMO, is a multi-platform one -- that behavior deviates on gcc-8.2 > > > from platform to platform. On amd64 it suffices to -fvisibility=hidden to > > > stop GOT detours, whereas on aarch64 it's -fvisibility=hidden -fno-common. > > > As a result aarch64 performance gets penalized in unsuspecting > > > multi-plats. > > > > -fno-common should really become the default, -fcommon causes way too many > > issues. > > That's bug 85678 Yes, we need to push on that one again since not much happened...