commit 3c3aa1c62767c48ac8f2015df66f04f354dd897b
Author: Mark Wielaard <mark@klomp.org>
Date: Tue Oct 17 17:49:26 2017 +0200
Suppress _dl_runtime_resolve_avx_slow for memcheck conditional.
glibc ld.so has an optimization when resolving a symbol that checks
whether or not the upper 128 bits of the ymm registers are zero. If
so it uses "cheaper" instructions to save/restore them using the xmm
registers. If those upper 128 bits contain undefined values memcheck
will issue an Conditional jump or move depends on uninitialised value(s)
warning whenever trying to resolve a symbol.
This triggers in our sh-mem-vecxxx test cases. Suppress the warning
by default.
diff --git a/glibc-2.X.supp.in b/glibc-2.X.supp.in
index 8edeb4a..126e8b3 100644
--- a/glibc-2.X.supp.in
+++ b/glibc-2.X.supp.in
@@ -236,3 +236,15 @@
Memcheck:Cond
fun:_dl_relocate_object
}
+
+# glibc ld.so has an optimization when resolving a symbol that checks
+# whether or not the upper 128 bits of the ymm registers are zero. If
+# so it uses "cheaper" instructions to save/restore them using the xmm
+# registers. If those upper 128 bits contain undefined values memcheck
+# will issue an Conditional jump or move depends on uninitialised value(s)
+# warning whenever trying to resolve a symbol.
+{
+ dl-trampoline-sse-avx
+ Memcheck:Cond
+ fun:_dl_runtime_resolve_avx_slow
+}