ftmemsim-valgrind/glibc-2.X.supp.in
Mark Wielaard f844689f85 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.

https://bugs.kde.org/show_bug.cgi?id=385868
2017-10-20 14:17:04 +02:00

251 lines
5.6 KiB
Plaintext

##----------------------------------------------------------------------##
# Errors to suppress by default with glibc @GLIBC_VERSION@.x
# IMPORTANT: DO NOT EDIT glibc-2.X.supp, as it is as a generated
# file. Instead edit glibc-2.X.supp.in.
# Format of this file is:
# {
# name_of_suppression
# tool_name:supp_kind
# (optional extra info for some suppression types)
# caller0 name, or /name/of/so/file.so
# caller1 name, or ditto
# (optionally: caller2 name)
# (optionally: caller3 name)
# }
#
# For Memcheck, the supp_kinds are:
#
# Param Value1 Value2 Value4 Value8 Value16 Jump
# Free Addr1 Addr2 Addr4 Addr8 Addr16
# Cond (previously known as Value0)
#
# and the optional extra info is:
# if Param: name of system call param
##----------------------------------------------------------------------##
##--- generic suppressions ---##
##----------------------------------------------------------------------##
{
dl-hack3-cond-0
Memcheck:Cond
fun:_dl_start
fun:_start
}
{
dl-hack3-cond-1
Memcheck:Cond
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
}
{
dl-hack3-cond-2
Memcheck:Cond
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
obj:*/lib*/libc-@GLIBC_VERSION@*.so*
}
{
dl-hack3-cond-3
Memcheck:Cond
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
obj:*/lib*/libc-@GLIBC_VERSION@*.so*
obj:*/lib*/libc-@GLIBC_VERSION@*.so*
}
{
dl-hack3-cond-4
Memcheck:Cond
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
obj:*/lib*/libdl-@GLIBC_VERSION@*.so*
}
{
dl-hack4-64bit-addr-1
Memcheck:Addr8
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
}
{
dl-hack4-64bit-addr-2
Memcheck:Addr8
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
obj:*/lib*/libc-@GLIBC_VERSION@*.so*
}
{
dl-hack4-64bit-addr-3
Memcheck:Addr8
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
obj:*/lib*/ld-@GLIBC_VERSION@*.so*
obj:*/lib*/libdl-@GLIBC_VERSION@*.so*
}
{
dl-hack5-32bit-addr-1
Memcheck:Addr4
obj:*/lib*/ld-@GLIBC_VERSION@*.so
obj:*/lib*/ld-@GLIBC_VERSION@*.so
obj:*/lib*/ld-@GLIBC_VERSION@*.so
}
{
dl-hack5-32bit-addr-3
Memcheck:Addr4
obj:*/lib*/ld-@GLIBC_VERSION@*.so
obj:*/lib*/ld-@GLIBC_VERSION@*.so
obj:*/lib*/libdl-@GLIBC_VERSION@*.so*
}
{
dl-hack5-32bit-addr-4
Memcheck:Addr4
obj:*/lib*/ld-@GLIBC_VERSION@*.so
obj:*/lib*/libdl-@GLIBC_VERSION@*.so*
obj:*/lib*/ld-@GLIBC_VERSION@*.so
}
##----------------------------------------------------------------------##
##--- Misc ad-hoc hacks ---##
##----------------------------------------------------------------------##
{
glibc-2.5.x-on-SUSE-10.2-(PPC)-1
Memcheck:Cond
fun:_dl_start_final
fun:_dl_start
fun:_start
}
{
glibc-2.5.x-on-SUSE-10.2-(PPC)-2a
Memcheck:Cond
fun:index
obj:*ld-@GLIBC_VERSION@.*.so
}
{
glibc-2.5.x-on-SuSE-10.2-(PPC)-2b
Memcheck:Addr4
fun:index
fun:expand_dynamic_string_token
}
{
glibc-2.5.5-on-SuSE-10.2-(PPC)-2c
Memcheck:Addr4
fun:index
obj:*ld-@GLIBC_VERSION@.*.so
}
{
glibc-2.3.5-on-SuSE-10.1-(PPC)-3
Memcheck:Addr4
fun:*wordcopy_fwd_dest_aligned*
fun:mem*cpy
obj:*lib*@GLIBC_VERSION@.*.so
}
{
glibc-@GLIBC_VERSION@-on-SUSE-10.3-(x86)
Memcheck:Addr4
obj:*/lib/ld-@GLIBC_VERSION@*.so
obj:*/lib/ld-@GLIBC_VERSION@*.so
obj:*/lib/ld-@GLIBC_VERSION@*.so
}
{
glibc24-64bit-padding-1a
Memcheck:Param
socketcall.sendto(msg)
fun:send
fun:get_mapping
fun:__nscd_get_map_ref
fun:nscd*
}
{
glibc24-64bit-padding-1b
Memcheck:Param
socketcall.sendto(msg)
fun:__sendto_nocancel
obj:/*libc-@GLIBC_VERSION@*.so
obj:/*libc-@GLIBC_VERSION@*.so
obj:/*libc-@GLIBC_VERSION@*.so
}
{
glibc24-64bit-padding-1c
Memcheck:Param
socketcall.send(msg)
fun:send
fun:__nscd_get_map_ref
fun:nscd_get*_r
fun:*nscd*
obj:/*libc-@GLIBC_VERSION@*.so
}
{
X11-64bit-padding-3a
Memcheck:Param
write(buf)
obj:/*libpthread-2.4.so*
obj:/usr/lib*/libX11.so*
obj:/usr/lib*/libX11.so*
obj:/usr/lib*/libX11.so*
}
{
X11-64bit-padding-4a
Memcheck:Param
socketcall.sendto(msg)
fun:send
obj:/*libc-@GLIBC_VERSION@*.so
obj:/*libc-@GLIBC_VERSION@*.so
obj:/*libc-@GLIBC_VERSION@*.so
}
{
X11-64bit-padding-4b
Memcheck:Param
socketcall.send(msg)
fun:send
obj:/*libc-@GLIBC_VERSION@*.so
obj:/*libc-@GLIBC_VERSION@*.so
obj:/*libc-@GLIBC_VERSION@*.so
}
##----------------------------------------------------------------------##
# MontaVista Linux 4.0.1 on ppc32
{
MVL-401-linuxthreads-pthread_create
Memcheck:Param
write(buf)
fun:pthread_create
}
{
MVL-401-linuxthreads-pthread_create
Memcheck:Param
write(buf)
obj:*/lib/libpthread-0.10.so
fun:pthread_create
}
##----------------------------------------------------------------------##
# Ubuntu 10.04 on ARM (Thumb). Not sure why this is necessary.
{
U1004-ARM-_dl_relocate_object
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
}