diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2020-05-16 00:11:54 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2020-05-16 00:12:14 +0100 |
commit | f43c7cd9e5a92d784af5e21ba22083cdb70c0e51 (patch) | |
tree | 1a601b3d3595e48324eaf2ef5c996a23c9210357 /sys-libs/glibc/glibc-9999.ebuild | |
parent | games-emulation/dolphin: allow bundled zstd (diff) | |
download | gentoo-f43c7cd9e5a92d784af5e21ba22083cdb70c0e51.tar.gz gentoo-f43c7cd9e5a92d784af5e21ba22083cdb70c0e51.tar.bz2 gentoo-f43c7cd9e5a92d784af5e21ba22083cdb70c0e51.zip |
sys-libs/glibc: avoid GPREL overflow on ia64, bug #723268
-fno-common had unintended side-effect to optimise more
accesses to global variables as module-local via GPREL22
relocations. Unfortunately glibc is large enough to overflow
GPREL22 offset.
Let's add a -fcommon workaround back to pessimize code slightly
that refers module-local globals. We'll need an equivalen of
-fPIC to do it consistently.
Bug: https://bugs.gentoo.org/723268
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'sys-libs/glibc/glibc-9999.ebuild')
-rw-r--r-- | sys-libs/glibc/glibc-9999.ebuild | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index bba57f5d6075..2355e5bce34e 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -298,6 +298,12 @@ setup_target_flags() { einfo "Auto adding -march=${t} to CFLAGS_x86 #185404 (ABI=${ABI})" fi ;; + ia64) + # Workaround GPREL22 overflow by slightly pessimizing global + # references to go via 64-bit relocations instead of 22-bit ones. + # This allows building glibc on ia64 without an overflow: #723268 + append-flags -fcommon + ;; mips) # The mips abi cannot support the GNU style hashes. #233233 filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both |