commit:     c6c63ec156e40e8b28724f2b49a8b0cf2ebf3033
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat May 16 11:27:17 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat May 16 11:30:49 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6c63ec1

sys-libs/glibc: revert "use -mno-sdata, not -fcommon, bug #723268"

The underying linker failure cause is not just an overflow
but a functional difference in '_dl_sysinfo_break' symbol linkage.

'_dl_sysinfo_break' is defined as a function in assembly
but declared as a global 'common' variable. Making it non-common
actually breaks sysinfo handler which is expected to be called
without function descriptor indirection. As sysonfo handler
is called before rtld processed it's own relocations.

Let's revert back to -fcommon until we have better glibc fix.

This reverts commit 8ec720b67f38952a4b9c6054c6d8ef0fc79d0343.

Bug: https://bugs.gentoo.org/723268
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 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, 3 insertions(+), 6 deletions(-)

diff --git a/sys-libs/glibc/glibc-2.30-r8.ebuild 
b/sys-libs/glibc/glibc-2.30-r8.ebuild
index b6a794f3004..0421d5e61db 100644
--- a/sys-libs/glibc/glibc-2.30-r8.ebuild
+++ b/sys-libs/glibc/glibc-2.30-r8.ebuild
@@ -309,8 +309,7 @@ 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 -mno-sdata
-                       :
+                       append-flags -fcommon
                ;;
                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 d297db2b26d..5580625ba6d 100644
--- a/sys-libs/glibc/glibc-2.31-r3.ebuild
+++ b/sys-libs/glibc/glibc-2.31-r3.ebuild
@@ -303,8 +303,7 @@ 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 -mno-sdata
-                       :
+                       append-flags -fcommon
                ;;
                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 ccedec70c67..2355e5bce34 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -302,8 +302,7 @@ 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 -mno-sdata
-                       :
+                       append-flags -fcommon
                ;;
                mips)
                        # The mips abi cannot support the GNU style hashes. 
#233233

Reply via email to