blob: 1aea172d70a9d15cbaf897e4e2b2e9c174e1aaf8 [file] [log] [blame]
##----------------------------------------------------------------------##
# Errors to suppress by default with glibc 2.2.4 / 2.2.5
# 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
# Free Addr1 Addr2 Addr4 Addr8 Addr16
# Cond (previously known as Value0)
#
# and the optional extra info is:
# if Param: name of system call param
# if Free: name of free-ing fn)
#-------- For SuSE 8.2 (gcc 3.3, glibc 2.3.2)
{
__GI___stpcpy/*
Memcheck:Cond
fun:__GI___stpcpy
fun:*
}
{
strlen/__GI__dl_open/dlopen_doit
Memcheck:Cond
fun:strlen
fun:__GI__dl_open
fun:dlopen_doit
}
{
strlen/_dl_signal_cerror/_dl_lookup_symbol_internal/do_dlsym
Memcheck:Cond
fun:_dl_signal_cerror
fun:_dl_lookup_symbol_internal
fun:do_dlsym
}
#-------- For R H 8.0
{
elf_dynamic_do_rel.7/_dl_relocate_object_internal/dl_open_worker(Cond)
Memcheck:Cond
fun:elf_dynamic_do_rel.7
fun:_dl_relocate_object_internal
fun:dl_open_worker
}
#-------- For R H 7.3 on i686
{
_dl_relocate_object*/*libc-2.2.?.so/_dl_catch_error*(Cond)
Memcheck:Cond
fun:_dl_relocate_object*
obj:*libc-2.2.?.so
fun:_dl_catch_error*
}
{
_dl_relocate_object_internal
Memcheck:Cond
fun:_dl_relocate_object_internal
}
{
index/*-2.2.5.so/*-2.2.5.so
Memcheck:Cond
fun:index
obj:*-2.2.5.so
obj:*-2.2.5.so
}
{
Red Hat 7.3 #4
Memcheck:Cond
fun:strlen
fun:dl_main
fun:_dl_sysdep_start
}
#-------- SuSE 8.1 stuff (gcc-3.2, glibc-2.2.5 + SuSE's hacks)
{
__stpcpy/*
Memcheck:Cond
fun:__stpcpy
fun:*
}
{
strlen/decompose_rpath/_dl_map_object
Memcheck:Cond
fun:strlen
fun:decompose_rpath
fun:_dl_map_object
}
{
strlen/_dl_sym/dlsym_doit
Memcheck:Cond
fun:strlen
fun:_dl_sym
fun:dlsym_doit
}
{
trecurse/__gconv_release_shlib(Addr4)
Memcheck:Addr4
fun:trecurse
fun:__gconv_release_shlib
}
{
do_release_shlib/trecurse(Addr4)
Memcheck:Addr4
fun:do_release_shlib
fun:trecurse
}
#-------- R H Limbo (glibc-2.2.90) stuff
{
elf_dynamic_do_rela.8/_dl_relocate_object_internal
Memcheck:Cond
fun:elf_dynamic_do_rela.8
fun:_dl_relocate_object_internal
}
{
__strnlen/_nl_make_l10nflist(Cond)
Memcheck:Cond
fun:__strnlen
fun:_nl_make_l10nflist
}
{
__strnlen/*vfprintf*
Memcheck:Cond
fun:__strnlen
fun:*vfprintf*
}
{
libXaw.so.7.0(Cond)
Memcheck:Cond
obj:*libXaw.so.7.0
}
#-------- Suppress errors appearing as a result of calling
#-------- __libc_freeres()
{
__twalk/*(Addr4)
Memcheck:Addr4
fun:__twalk
}
{
do_release_shlib/__twalk(Addr4)
Memcheck:Addr4
fun:do_release_shlib
fun:__twalk
}
{
__libc_freeres/free_mem/free(Free)
Memcheck:Free
fun:free
fun:free_mem
fun:__libc_freeres
}
#-------- Data races
{
_dl_lookup_symbol/fixup/_dl_runtime_resolve
Helgrind:Eraser
fun:_dl_lookup_symbol
fun:fixup
fun:_dl_runtime_resolve
}
{
_dl_lookup_symbol_internal/fixup/_dl_runtime_resolve
Helgrind:Eraser
fun:_dl_lookup_symbol_internal
fun:fixup
fun:_dl_runtime_resolve
}
{
_dl_lookup_versioned_symbol/fixup/_dl_runtime_resolve
Helgrind:Eraser
fun:_dl_lookup_versioned_symbol
fun:fixup
fun:_dl_runtime_resolve
}
{
_dl_lookup_versioned_symbol_internal/fixup/_dl_runtime_resolve
Helgrind:Eraser
fun:_dl_lookup_versioned_symbol_internal
fun:fixup
fun:_dl_runtime_resolve
}
{
_dl_fini/exit/__libc_start_main
Helgrind:Eraser
fun:_dl_fini
fun:exit
fun:__libc_start_main
}
{
_dl_map_object_deps/dl_open_worker/_dl_catch_error/_dl_open
Helgrind:Eraser
fun:_dl_map_object_deps
fun:dl_open_worker
fun:_dl_catch_error
fun:_dl_open
}
{
_dl_map_object_deps_internal/dl_open_worker/_dl_catch_error_internal/_dl_open
Helgrind:Eraser
fun:_dl_map_object_deps_internal
fun:dl_open_worker
fun:_dl_catch_error_internal
fun:_dl_open
}
#-------- Threading bugs?
# glibc 'knows' that destroying a locked mutex will unlock it
{
pthread_error/pthread_mutex_destroy/__closedir
core:PThread
fun:pthread_error
fun:pthread_mutex_destroy
fun:__closedir
}
{
pthread_error/pthread_mutex_destroy/_IO_default_finish
core:PThread
fun:pthread_error
fun:pthread_mutex_destroy
fun:_IO_default_finish*
}
{
pthread_mutex_unlock/_IO_funlockfile
core:PThread
fun:pthread_mutex_unlock
fun:_IO_funlockfile
}
# even more glibc suppressions ?
{
libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond)
Memcheck:Cond
obj:*libc-2.2.?.so
obj:*libc-2.2.?.so
obj:*libc-2.2.?.so
}
{
libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value4)
Memcheck:Value4
obj:*libc-2.2.?.so
obj:*libc-2.2.?.so
obj:*libc-2.2.?.so
}
##### glibc 2.2.5 stuff perhaps?
##### suppressions for coolo
{
strchr/dl_open_worker(Cond)
Memcheck:Cond
fun:strchr
fun:dl_open_worker
}
{
__rawmemchr(Cond)
Memcheck:Cond
fun:__rawmemchr
}
{
_IO_vfprintf/__strnlen(Cond)
Memcheck:Cond
fun:__strnlen
fun:_IO_vfprintf
}
{
__strchrnul/gethostbyname*(Cond)
Memcheck:Cond
fun:__strchrnul
fun:gethostbyname*
}
##----
{
strlen/*dl_map_object*(Cond)
Memcheck:Cond
fun:strlen
fun:*dl_map_object*
}
{
strlen/*dl_open_worker*(Cond)
Memcheck:Cond
fun:strlen
fun:*dl_open_worker*
}
{
*rawmemchr*/*nss*(Cond)
Memcheck:Cond
fun:*rawmemchr*
fun:*nss*
}
{
*strchrnul*/*nss*(Cond)
Memcheck:Cond
fun:*strchrnul*
fun:*nss*
}
# gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
# on Red Hat 7.2 (x86) miscompiles __mpn_construct_double in
# __mpn_construct_double (../sysdeps/ieee754/dbl-64/mpn2dbl.c:45)
# (glibc-2.2.4) to read and write below %esp. Hence the following
# two:
{
__mpn_construct_double/*(Addr4)
Memcheck:Addr4
fun:__mpn_construct_double
fun:*
}
{
__mpn_construct_double/*(Addr8)
Memcheck:Addr8
fun:__mpn_construct_double
fun:*
}
# More of the same (gcc bug, I'm pretty sure)
{
__fabs/*(Addr4)
Memcheck:Addr4
fun:__fabs
fun:*
}
{
__fabs/*(Addr8)
Memcheck:Addr8
fun:__fabs
fun:*
}
# Not sure what this is about ... but anyway
{
pthread_sighandler/*(Addr4)
Memcheck:Addr4
fun:pthread_sighandler
fun:*
}
# More glibc stuff, AFAICS
{
__strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
Memcheck:Cond
fun:__strnlen
fun:__argz_stringify
fun:_nl_make_l10nflist
}
#--------------
{
_dl_relocate_object*/dl_open_worker/_dl_catch_error*(Cond)
Memcheck:Cond
fun:_dl_relocate_object*
fun:dl_open_worker
fun:_dl_catch_error*
}
{
_dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
Memcheck:Cond
fun:_dl_relocate_object
obj:*libc-2.2.?.so
fun:_dl_catch_error
}
{
_dl_relocate_object/dl_main(Cond)
Memcheck:Cond
fun:_dl_relocate_object
fun:dl_main
}
{
_dl_relocate_object_internal/dl_main(Cond)
Memcheck:Cond
fun:_dl_relocate_object_internal
fun:dl_main
}
{
strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
Memcheck:Cond
fun:strrchr
fun:_dl_map_object_from_fd
fun:_dl_map_object
}
{
_dl_start/ld-2.2.4.so(Cond)
Memcheck:Cond
fun:_dl_start
obj:/lib/ld-2.2.4.so
}
#-------- glibc 2.2.5/ Debian 3.0
{
_dl_start(Cond)
Memcheck:Cond
fun:_dl_start
}
{
_dl_start(Cond)
Memcheck:Cond
fun:_dl_relocate_object
}
#-------------------
{
socketcall.connect(serv_addr)/connect/*
Memcheck:Param
socketcall.connect(serv_addr)
fun:connect
fun:*
}
{
socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so
Memcheck:Param
socketcall.connect(serv_addr)
obj:*libc-2.2.?.so
obj:*libc-2.2.?.so
}
#----------------------
{
write(buf)/write/libX11.so.6.2/libX11.so.6.2(Param)
Memcheck:Param
write(buf)
fun:write
obj:/usr/X11R6/lib/libX11.so.6.2
obj:/usr/X11R6/lib/libX11.so.6.2
}
{
write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param)
Memcheck:Param
write(buf)
obj:*libc-2.2.?.so
obj:/usr/X11R6/lib/libX11.so.6.2
obj:/usr/X11R6/lib/libX11.so.6.2
}
#{
# llseek(result)/lseek64/_IO_file_seek(Param)
# Param
# llseek(result)
# fun:lseek64
# fun:_IO_file_seek
#}
{
writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2
Memcheck:Param
writev(vector[...])
fun:__writev
obj:/usr/X11R6/lib/libX11.so.6.2
obj:/usr/X11R6/lib/libX11.so.6.2
}
#----------------
{
__rawmemchr/libXt.so.6.0/libXt.so.6.0
Memcheck:Cond
fun:__rawmemchr
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
}
{
libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
Memcheck:Cond
obj:*libc-2.2.?.so
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
}
## Bug in PRE(sys_clone), really. Some args are not used.
{
LinuxThread clone use (child_tidptr)
Memcheck:Param
clone(child_tidptr)
fun:clone
fun:__pthread_initialize_manager
fun:pthread_create@@GLIBC_2.2.5
}
## LinuxThreads manager writes messages containing undefined bytes
{
LinuxThreads: write/pthread_create
Memcheck:Param
write(buf)
fun:pthread_create@@GLIBC_2.1
}
{
LinuxThreads: write/pthread_create
Memcheck:Param
write(buf)
fun:write
fun:pthread_create@@GLIBC_2.1
}
{
LinuxThreads: write/pthread_onexit_process
Memcheck:Param
write(buf)
fun:write
fun:pthread_onexit_process
fun:exit
}
{
LinuxThreads: write/pthread_join
Memcheck:Param
write(buf)
fun:write
fun:pthread_join
}
{
LinuxThreads: write/pthread_create
Memcheck:Param
write(buf)
fun:write
fun:pthread_create@@GLIBC_2.2.5
}
{
LinuxThreads: write/__pthread_initialize_manager/pthread_create
Memcheck:Param
write(buf)
fun:write
fun:__pthread_initialize_manager
fun:pthread_create@@GLIBC_2.2.5
}
## LinuxThreads leaks the stack and TLS data for the manager thread
{
LinuxThreads: leaks stack of manager thread
Memcheck:Leak
fun:malloc
fun:__pthread_initialize_manager
fun:pthread_create@@GLIBC_2.1
}
{
LinuxThreads: leaks TLS data for manager thread
Memcheck:Leak
fun:calloc
fun:_dl_allocate_tls
fun:__pthread_initialize_minimal
}
{
LinuxThreads: leaks TLS data for manager thread
Memcheck:Leak
fun:memalign
fun:_dl_allocate_tls
fun:__pthread_initialize_minimal
}
{
LinuxThreads: leaks stack of manager thread
Memcheck:Leak
fun:malloc
fun:__pthread_initialize_manager
fun:pthread_create@@GLIBC_2.2.5
}
{
LinuxThreads: leaks TLS data for manager thread
Memcheck:Leak
fun:calloc
fun:allocate_dtv
fun:_dl_allocate_tls_storage
fun:_dl_allocate_tls
fun:__pthread_initialize_minimal
}
{
LinuxThreads: leaks TLS data for manager thread
Memcheck:Leak
fun:memalign
fun:_dl_allocate_tls_storage
fun:_dl_allocate_tls
fun:__pthread_initialize_minimal
}