Blob Blame History Raw
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
+}