about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2019-11-13 12:00:38 +0100
committerFlorian Weimer <fweimer@redhat.com>2019-11-14 12:39:49 +0100
commitc9bf28d625ad1533935d40ae94b15453d0c98508 (patch)
treeec77f0be1a406609afba8567eca89091b45277eb
parent70c6e15654928c603c6d24bd01cf62e7a8e2ce9b (diff)
downloadglibc-c9bf28d625ad1533935d40ae94b15453d0c98508.tar.gz
glibc-c9bf28d625ad1533935d40ae94b15453d0c98508.tar.xz
glibc-c9bf28d625ad1533935d40ae94b15453d0c98508.zip
nios2: Work around backend bug triggered by csu/libc-tls.c (GCC PR 92499)
Change-Id: If5df5b05d15f0418af821a9ac8cc0fad53437b10
-rw-r--r--sysdeps/unix/sysv/linux/nios2/Makefile9
1 files changed, 9 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/nios2/Makefile b/sysdeps/unix/sysv/linux/nios2/Makefile
index 5688a16c38..9342e4521a 100644
--- a/sysdeps/unix/sysv/linux/nios2/Makefile
+++ b/sysdeps/unix/sysv/linux/nios2/Makefile
@@ -7,3 +7,12 @@ ifeq ($(subdir),misc)
 sysdep_headers += sys/cachectl.h
 sysdep_routines += cacheflush
 endif
+
+ifeq ($(subdir),csu)
+# Work around an incorrect assumption that an object of variably
+# modified type, with a small fixed size but a large variable-sized
+# part (the static_slotinfo variable in libc-tls.c) is allocated in
+# the small data section, not the data section where it belongs based
+# on its size.  See GCC PR 92499.
+CFLAGS-libc-tls.c += -mgpopt=none
+endif