about summary refs log tree commit diff
path: root/INSTALL
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.ibm.com>2020-12-15 15:18:03 +0100
committerStefan Liebler <stli@linux.ibm.com>2020-12-17 16:18:04 +0100
commit844b4d8b4b937fe6943d2c0c80ce7d871cdb1eb5 (patch)
treee1b9009fe7c5b66a726fb47369b9da4d054521a9 /INSTALL
parent29a4db291b1282f4088e549391d86b6b470f22be (diff)
downloadglibc-844b4d8b4b937fe6943d2c0c80ce7d871cdb1eb5.tar.gz
glibc-844b4d8b4b937fe6943d2c0c80ce7d871cdb1eb5.tar.xz
glibc-844b4d8b4b937fe6943d2c0c80ce7d871cdb1eb5.zip
s390x: Require GCC 7.1 or later to build glibc.
GCC 6.5 fails to correctly build ldconfig with recent ld.so.cache
commits, e.g.:
785969a047ad2f23f758901c6816422573544453
elf: Implement a string table for ldconfig, with tail merging

If glibc is build with gcc 6.5.0:
__builtin_add_overflow is used in
<glibc>/elf/stringtable.c:stringtable_finalize()
which leads to ldconfig failing with "String table is too large".
This is also recognizable in following tests:
FAIL: elf/tst-glibc-hwcaps-cache
FAIL: elf/tst-glibc-hwcaps-prepend-cache
FAIL: elf/tst-ldconfig-X
FAIL: elf/tst-ldconfig-bad-aux-cache
FAIL: elf/tst-ldconfig-ld_so_conf-update
FAIL: elf/tst-stringtable

See gcc "Bug 98269 - gcc 6.5.0 __builtin_add_overflow() with small
uint32_t values incorrectly detects overflow"
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98269)
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL3
1 files changed, 3 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL
index 2b00f80df5..accdc39821 100644
--- a/INSTALL
+++ b/INSTALL
@@ -467,6 +467,9 @@ build the GNU C Library:
 
      For ARC architecture builds, GCC 8.3 or higher is needed.
 
+     For s390x architecture builds, GCC 7.1 or higher is needed (See gcc
+     Bug 98269).
+
      For multi-arch support it is recommended to use a GCC which has
      been built with support for GNU indirect functions.  This ensures
      that correct debugging information is generated for functions