https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91766
Eric Gallager <egallager at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |visibility CC| |egallager at gcc dot gnu.org See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=85678 --- Comment #6 from Eric Gallager <egallager at gcc dot gnu.org> --- (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