From 8ec720b67f38952a4b9c6054c6d8ef0fc79d0343 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 16 May 2020 09:57:53 +0100 Subject: [PATCH] sys-libs/glibc: use -mno-sdata, not -fcommon, bug #723268 -fcommon generated PLT references and added double memory dereference. -mno-sdata is slightly more efficient as it still sees globals to be module local varilables and uses GPREL64 (instead of PLT indirection) and uses single memory dereference. Bug: https://bugs.gentoo.org/723268 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich --- sys-libs/glibc/glibc-2.30-r8.ebuild | 3 ++- sys-libs/glibc/glibc-2.31-r3.ebuild | 3 ++- sys-libs/glibc/glibc-9999.ebuild | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sys-libs/glibc/glibc-2.30-r8.ebuild b/sys-libs/glibc/glibc-2.30-r8.ebuild index 0421d5e61db1..b6a794f3004e 100644 --- a/sys-libs/glibc/glibc-2.30-r8.ebuild +++ b/sys-libs/glibc/glibc-2.30-r8.ebuild @@ -309,7 +309,8 @@ setup_target_flags() { # 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 + append-flags -mno-sdata + : ;; mips) # The mips abi cannot support the GNU style hashes. #233233 diff --git a/sys-libs/glibc/glibc-2.31-r3.ebuild b/sys-libs/glibc/glibc-2.31-r3.ebuild index 5580625ba6d0..d297db2b26d5 100644 --- a/sys-libs/glibc/glibc-2.31-r3.ebuild +++ b/sys-libs/glibc/glibc-2.31-r3.ebuild @@ -303,7 +303,8 @@ setup_target_flags() { # 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 + append-flags -mno-sdata + : ;; mips) # The mips abi cannot support the GNU style hashes. #233233 diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index 2355e5bce34e..ccedec70c678 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -302,7 +302,8 @@ setup_target_flags() { # 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 + append-flags -mno-sdata + : ;; mips) # The mips abi cannot support the GNU style hashes. #233233 -- 2.26.2