https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91766

--- Comment #3 from martin krastev <blu.dark at gmail dot com> ---
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.

Reply via email to