summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2020-05-16 09:57:53 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2020-05-16 09:58:04 +0100
commit8ec720b67f38952a4b9c6054c6d8ef0fc79d0343 (patch)
treeced54b6c8fa1582e14de3ad64e5d08a426e4feff
parentdev-util/pkgdiff: D -> ED in install phase (diff)
downloadgentoo-8ec720b67f38952a4b9c6054c6d8ef0fc79d0343.tar.gz
gentoo-8ec720b67f38952a4b9c6054c6d8ef0fc79d0343.tar.bz2
gentoo-8ec720b67f38952a4b9c6054c6d8ef0fc79d0343.zip
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 <slyfox@gentoo.org>
-rw-r--r--sys-libs/glibc/glibc-2.30-r8.ebuild3
-rw-r--r--sys-libs/glibc/glibc-2.31-r3.ebuild3
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild3
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