sys-libs/glibc: use -mno-sdata, not -fcommon, bug #723268
authorSergei Trofimovich <slyfox@gentoo.org>
Sat, 16 May 2020 08:57:53 +0000 (09:57 +0100)
committerSergei Trofimovich <slyfox@gentoo.org>
Sat, 16 May 2020 08:58:04 +0000 (09:58 +0100)
-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>
sys-libs/glibc/glibc-2.30-r8.ebuild
sys-libs/glibc/glibc-2.31-r3.ebuild
sys-libs/glibc/glibc-9999.ebuild

index 0421d5e61db16df66776565ae2ad147d379f5ab0..b6a794f3004e5f8b35e97b9e90b8368834ce96ee 100644 (file)
@@ -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
index 5580625ba6d0736528222ec5ebc1300c3349465b..d297db2b26d5ed774850095c77187f643124b4a5 100644 (file)
@@ -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
index 2355e5bce34e017582dc21d38a8cf359b5e2cf60..ccedec70c67847ad213979e92e6fa4e247de6178 100644 (file)
@@ -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