mirror of
git://sourceware.org/git/valgrind.git
synced 2026-01-12 00:19:31 +08:00
The testcase memcheck/tests/linux/bug420682_1 should be a straightforward clean test. On old PPC systems it produces one error.
291 lines
6.4 KiB
Plaintext
291 lines
6.4 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
|
|
}
|
|
|
|
{
|
|
libaio-CentOS-7.9-(PPC)
|
|
Memcheck:Addr4
|
|
fun:io_getevents
|
|
}
|
|
|
|
##----------------------------------------------------------------------##
|
|
# 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
|
|
}
|
|
|
|
# The main thread dynamic thread vector, DTV, which contains pointers
|
|
# to thread local variables, isn't freed. There are a couple of call
|
|
# patterns that can cause it to be extended.
|
|
{
|
|
dtv-addr-tail
|
|
Memcheck:Leak
|
|
match-leak-kinds: possible,reachable
|
|
fun:malloc
|
|
fun:tls_get_addr_tail*
|
|
fun:__tls_get_addr
|
|
}
|
|
|
|
{
|
|
dtv-addr-resize
|
|
Memcheck:Leak
|
|
match-leak-kinds: possible,reachable
|
|
fun:malloc
|
|
fun:_dl_resize_dtv
|
|
fun:_dl_update_slotinfo
|
|
fun:update_get_addr
|
|
fun:__tls_get_addr
|
|
}
|
|
|
|
{
|
|
dtv-addr-init
|
|
Memcheck:Leak
|
|
match-leak-kinds: possible,reachable
|
|
...
|
|
fun:allocate_dtv_entry
|
|
fun:allocate_and_init
|
|
fun:tls_get_addr_tail*
|
|
fun:__tls_get_addr
|
|
}
|