about summary refs log tree commit diff
diff options
context:
space:
mode:
-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