aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--string/Makefile8
2 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 66ce72be9b..424f8b9108 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-01-17 Stefan Liebler <stli@linux.vnet.ibm.com>
+
+ [BZ #21006]
+ * string/Makefile (LDFLAGS-tst-xbzero-opt): New variable.
+
2017-01-16 Joseph Myers <joseph@codesourcery.com>
[BZ #21045]
diff --git a/string/Makefile b/string/Makefile
index 7b3afa01ae..901c4d4d77 100644
--- a/string/Makefile
+++ b/string/Makefile
@@ -74,6 +74,14 @@ CFLAGS-stratcliff.c = -fno-builtin
CFLAGS-test-ffs.c = -fno-builtin
CFLAGS-tst-inlcall.c = -fno-builtin
CFLAGS-tst-xbzero-opt.c = -O3
+# BZ 21006: Resolve all functions but at least explicit_bzero at startup.
+# Otherwise the test fails on s390x as the memcpy in prepare_test_buffer is
+# done by loading r4 / r5 with the test_pattern and using store multiple
+# instruction to store r4 / r5 to buf. If explicit_bzero would be resolved in
+# setup_explicit_clear, r4 / r5 would be stored to stack by _dl_runtime_resolve
+# and the call to memmem in count_test_patterns will find a hit of the
+# test_pattern on the stack.
+LDFLAGS-tst-xbzero-opt = -z now
# Called during TLS initialization.
CFLAGS-memcpy.c = $(no-stack-protector)