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 8ec720b67f.

Bug: https://bugs.gentoo.org/723268
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
This commit is contained in:
Sergei Trofimovich
2020-05-16 12:27:17 +01:00
parent 1bca216e74
commit c6c63ec156
3 changed files with 3 additions and 6 deletions

View File

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

View File

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

View File

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