-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>
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
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
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