diff --git a/valgrind-3.13.0-suppress-dl-trampoline-sse-avx.patch b/valgrind-3.13.0-suppress-dl-trampoline-sse-avx.patch new file mode 100644 index 0000000..77405fc --- /dev/null +++ b/valgrind-3.13.0-suppress-dl-trampoline-sse-avx.patch @@ -0,0 +1,36 @@ +commit 3c3aa1c62767c48ac8f2015df66f04f354dd897b +Author: Mark Wielaard +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 ++}