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