mirror of
https://github.com/ioacademy-jikim/debugging
synced 2025-06-08 00:16:11 +00:00
564 lines
11 KiB
Plaintext
564 lines
11 KiB
Plaintext
|
|
##----------------------------------------------------------------------##
|
|
|
|
# Errors to suppress by default with glibc 2.3.x
|
|
|
|
# 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
|
|
|
|
{
|
|
__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
|
|
}
|
|
{
|
|
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*
|
|
}
|
|
{
|
|
strlen/_dl_sym/dlsym_doit
|
|
Memcheck:Cond
|
|
fun:strlen
|
|
fun:_dl_sym
|
|
fun:dlsym_doit
|
|
}
|
|
{
|
|
realpath is inefficiently coded
|
|
Memcheck:Overlap
|
|
fun:memcpy
|
|
fun:realpath*
|
|
}
|
|
|
|
{
|
|
realpath stupidity part II
|
|
Memcheck:Overlap
|
|
fun:strcpy
|
|
fun:realpath*
|
|
}
|
|
{
|
|
strlen/decompose_rpath/_dl_map_object
|
|
Memcheck:Cond
|
|
fun:strlen
|
|
fun:decompose_rpath
|
|
fun:*dl_map_object*
|
|
}
|
|
{
|
|
stpcpy/_dl_sym*
|
|
Memcheck:Cond
|
|
fun:__stpcpy
|
|
fun:_dl_*
|
|
}
|
|
|
|
#-------- 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
|
|
}
|
|
{
|
|
dl_relocate/dl_open_worker
|
|
Memcheck:Cond
|
|
fun:_dl_relocate_object_internal
|
|
fun:dl_open_worker
|
|
}
|
|
{
|
|
RedHat8-1
|
|
Memcheck:Cond
|
|
fun:elf_dynamic_do_rela.8
|
|
fun:_dl_relocate_object
|
|
fun:dl_main
|
|
fun:_dl_sysdep_start
|
|
}
|
|
{
|
|
RedHat8-2
|
|
Memcheck:Cond
|
|
fun:elf_dynamic_do_rel.7
|
|
fun:_dl_relocate_object
|
|
fun:dl_main
|
|
fun:_dl_sysdep_start
|
|
}
|
|
{
|
|
RedHat8-3
|
|
Memcheck:Cond
|
|
fun:elf_dynamic_do_rela.8
|
|
fun:_dl_relocate_object
|
|
fun:dl_open_worker
|
|
}
|
|
|
|
#-------- glibc 2.3.2/ Fedora Core 1
|
|
{
|
|
dl_relocate/dl_main
|
|
Memcheck:Cond
|
|
fun:_dl_relocate_object_internal
|
|
fun:dl_main
|
|
}
|
|
|
|
#-------- glibc 2.3.3/ Fedora Core 2
|
|
{
|
|
dl_relocate_object/dl_main
|
|
Memcheck:Cond
|
|
fun:_dl_relocate_object
|
|
fun:dl_main
|
|
}
|
|
{
|
|
_dl_relocate_object/dl_open_worker
|
|
Memcheck:Cond
|
|
fun:_dl_relocate_object
|
|
fun:dl_open_worker
|
|
}
|
|
|
|
#-------- glibc 2.3.4/ Fedora Core 3
|
|
{
|
|
dl_relocate_object
|
|
Memcheck:Cond
|
|
fun:_dl_relocate_object
|
|
}
|
|
|
|
##----------------------------------------------------------------------##
|
|
## Bugs in helper library supplied with Intel Icc 7.0 (65)
|
|
## in /opt/intel/compiler70/ia32/lib/libcxa.so.3
|
|
{
|
|
Intel compiler70/ia32/lib/libcxa.so.3 below-esp accesses
|
|
Memcheck:Addr4
|
|
obj:/opt/intel/compiler70/ia32/lib/libcxa.so.3
|
|
}
|
|
|
|
##----------------------------------------------------------------------##
|
|
## SuSE 9 after FV changes (post 2.1.0)
|
|
|
|
{
|
|
strlen/_dl_init_paths/dl_main/_dl_sysdep_start(Cond)
|
|
Memcheck:Cond
|
|
fun:strlen
|
|
fun:_dl_init_paths
|
|
fun:dl_main
|
|
fun:_dl_sysdep_start
|
|
}
|
|
|
|
{
|
|
Ugly strchr error in /lib/ld-2.3.2.so
|
|
Memcheck:Cond
|
|
obj:/lib/ld-2.3.2.so
|
|
}
|
|
|
|
##----------------------------------------------------------------------##
|
|
## SuSE 9.1 with post 2.1.2
|
|
{
|
|
Ugly strchr error in /lib/ld-2.3.3.so
|
|
Memcheck:Cond
|
|
obj:/lib/ld-2.3.3.so
|
|
}
|
|
|
|
##----------------------------------------------------------------------##
|
|
## SuSE 9.1 with 3.0 branch (x86)
|
|
{
|
|
Strstr dubiousness in pthread_initialize
|
|
Memcheck:Cond
|
|
fun:strstr
|
|
fun:pthread_initialize
|
|
obj:/lib/libpthread.so.0
|
|
obj:/lib/libpthread.so.0
|
|
}
|
|
|
|
##----------------------------------------------------------------------##
|
|
## glibc-2.3.3 on FC2
|
|
## Assumes that sysctl returns \0-terminated strings in is_smp_system
|
|
#{
|
|
# Unterminated strstr string in is_smp_system() (NPTL)
|
|
# Memcheck:Cond
|
|
# fun:strstr
|
|
# fun:__pthread_initialize_minimal
|
|
# obj:/lib/tls/libpthread*.so*
|
|
# obj:/lib/tls/libpthread*.so*
|
|
#}
|
|
#{
|
|
# Unterminated strstr string in is_smp_system() (LinuxThreads)
|
|
# Memcheck:Cond
|
|
# fun:strstr
|
|
# fun:pthread_initialize
|
|
# obj:/lib/i686/libpthread*.so*
|
|
# obj:/lib/i686/libpthread*.so*
|
|
#}
|
|
#{
|
|
# Unterminated strstr string in is_smp_system() (LinuxThreads)
|
|
# Memcheck:Cond
|
|
# fun:strstr
|
|
# fun:pthread_initialize
|
|
# obj:/lib/libpthread-0.10.so
|
|
# obj:/lib/libpthread-0.10.so
|
|
#}
|
|
|
|
## Bug in PRE(sys_clone), really. Some args are not used.
|
|
{
|
|
LinuxThread clone use (parent_tidptr)
|
|
Memcheck:Param
|
|
clone(parent_tidptr)
|
|
fun:clone
|
|
fun:pthread_create
|
|
}
|
|
{
|
|
LinuxThread clone use (child_tidptr)
|
|
Memcheck:Param
|
|
clone(child_tidptr)
|
|
fun:clone
|
|
fun:pthread_create
|
|
}
|
|
{
|
|
LinuxThread clone use (tlsinfo)
|
|
Memcheck:Param
|
|
clone(tlsinfo)
|
|
fun:clone
|
|
fun:pthread_create
|
|
}
|
|
{
|
|
LinuxThread clone use (parent_tidptr)
|
|
Memcheck:Param
|
|
clone(parent_tidptr)
|
|
fun:clone
|
|
fun:pthread_create@@GLIBC_2.1
|
|
}
|
|
{
|
|
LinuxThread clone use (child_tidptr)
|
|
Memcheck:Param
|
|
clone(child_tidptr)
|
|
fun:clone
|
|
fun:pthread_create@@GLIBC_2.1
|
|
}
|
|
{
|
|
LinuxThread clone use (tlsinfo)
|
|
Memcheck:Param
|
|
clone(tlsinfo)
|
|
fun:clone
|
|
fun:pthread_create@@GLIBC_2.1
|
|
}
|
|
|
|
## LinuxThreads manager writes messages containing undefined bytes
|
|
{
|
|
LinuxThreads: write/pthread_onexit_process
|
|
Memcheck:Param
|
|
write(buf)
|
|
fun:pthread_onexit_process
|
|
fun:exit
|
|
}
|
|
{
|
|
LinuxThreads: write/pthread_join
|
|
Memcheck:Param
|
|
write(buf)
|
|
fun:pthread_join
|
|
}
|
|
{
|
|
LinuxThreads: write/pthread_create
|
|
Memcheck:Param
|
|
write(buf)
|
|
fun:pthread_create@@GLIBC_2.1
|
|
}
|
|
{
|
|
LinuxThreads: write/pthread_create 2
|
|
Memcheck:Param
|
|
write(buf)
|
|
fun:write
|
|
fun:pthread_create@@GLIBC_2.1
|
|
fun:main
|
|
}
|
|
{
|
|
LinuxThreads: write/__pthread_initialize_manager/pthread_create
|
|
Memcheck:Param
|
|
write(buf)
|
|
fun:__pthread_initialize_manager
|
|
fun:pthread_create@@GLIBC_2.1
|
|
}
|
|
|
|
{
|
|
LinuxThreads: write/pthread_create
|
|
Memcheck:Param
|
|
write(buf)
|
|
fun:write
|
|
fun:pthread_create
|
|
}
|
|
|
|
## 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
|
|
}
|
|
|
|
##----------------------------------------------------------------------##
|
|
## glibc-2.3.4 on FC3
|
|
## Assumes that sysctl returns \0-terminated strings in is_smp_system
|
|
#{
|
|
# Unterminated strstr string in is_smp_system() (NPTL)
|
|
# Memcheck:Cond
|
|
# fun:strstr
|
|
# fun:__pthread_initialize_minimal
|
|
# obj:/lib/tls/libpthread-2.3.4.so
|
|
# obj:/lib/tls/libpthread-2.3.4.so
|
|
#}
|
|
#{
|
|
# Unterminated strstr string in is_smp_system() (NPTL)
|
|
# Memcheck:Cond
|
|
# fun:strstr
|
|
# fun:__pthread_initialize_minimal
|
|
# obj:/lib64/tls/libpthread*.so*
|
|
#}
|
|
|
|
##----------------------------------------------------------------------##
|
|
## glibc-2.3.5 on FC4
|
|
## Assumes that sysctl returns \0-terminated strings in is_smp_system
|
|
#{
|
|
# Unterminated strstr string in is_smp_system() (NPTL)
|
|
# Memcheck:Cond
|
|
# fun:strstr
|
|
# fun:__pthread_initialize_minimal
|
|
# obj:*/libpthread-2.3.5.so
|
|
# obj:*/libpthread-2.3.5.so
|
|
#}
|
|
|
|
|
|
##----------------------------------------------------------------------##
|
|
#
|
|
# I don't know why this is needed, but still:
|
|
{
|
|
glibc-2.3.x-on-SuSE-10.0-(PPC)-1
|
|
Memcheck:Cond
|
|
fun:_dl_start
|
|
fun:_start
|
|
}
|
|
{
|
|
glibc-2.3.x-on-SuSE-10.1-(PPC)-1
|
|
Memcheck:Cond
|
|
fun:_dl_start_final
|
|
fun:_dl_start
|
|
fun:_start
|
|
}
|
|
{
|
|
glibc-2.3.x-on-SuSE-10.0/10.1-(PPC)-2a
|
|
Memcheck:Cond
|
|
fun:index
|
|
obj:*ld-2.3.*.so
|
|
}
|
|
{
|
|
glibc-2.3.x-on-SuSE-10.0/10.1-(PPC)-2b
|
|
Memcheck:Addr4
|
|
fun:index
|
|
fun:expand_dynamic_string_token
|
|
}
|
|
{
|
|
glibc-2.3.5-on-SuSE-10.0/10.1-(PPC)-2c
|
|
Memcheck:Addr4
|
|
fun:index
|
|
obj:*ld-2.3.*.so
|
|
}
|
|
{
|
|
glibc-2.3.5-on-SuSE-10.0/10.1-(PPC)-3
|
|
Memcheck:Addr4
|
|
fun:*wordcopy_fwd_dest_aligned*
|
|
fun:mem*cpy
|
|
obj:*lib*2.3.*.so
|
|
}
|
|
{
|
|
glibc-2.3.5-on-SuSE-10.0/10.1-(PPC)-4
|
|
Memcheck:Addr4
|
|
fun:bcmp
|
|
fun:*rpath*
|
|
fun:*rpath*
|
|
fun:*rpath*
|
|
}
|
|
|
|
##----------------------------------------------------------------------##
|
|
# Hacks pertaining to the fact that our intercept mechanism can't
|
|
# always get hold of strlen early enough, due to idiocy in the low
|
|
# level memory manager.
|
|
|
|
## HACK to do with strlen not being intercepted early enough
|
|
{
|
|
strlen-not-intercepted-early-enough-HACK-1
|
|
Memcheck:Addr4
|
|
fun:strlen
|
|
fun:_dl_map_object_from_fd
|
|
fun:_dl_map_object
|
|
}
|
|
|
|
{
|
|
strlen-not-intercepted-early-enough-HACK-2
|
|
Memcheck:Addr4
|
|
fun:strlen
|
|
fun:decompose_rpath
|
|
fun:cache_rpath
|
|
fun:_dl_map_object
|
|
}
|
|
|
|
{
|
|
strlen-not-intercepted-early-enough-HACK-3
|
|
Memcheck:Cond
|
|
fun:strlen
|
|
fun:_dl_new_object
|
|
fun:_dl_map_object_from_fd
|
|
fun:_dl_map_object
|
|
}
|
|
|
|
{
|
|
strlen-not-intercepted-early-enough-HACK-4
|
|
Memcheck:Cond
|
|
fun:strlen
|
|
fun:expand_dynamic_string_token
|
|
fun:_dl_map_object
|
|
}
|
|
|
|
{
|
|
strlen-not-intercepted-early-enough-HACK-5
|
|
Memcheck:Cond
|
|
fun:strlen
|
|
fun:fillin_rpath
|
|
fun:_dl_init_paths
|
|
}
|
|
|
|
|
|
## HACK to do with index not being intercepted early enough
|
|
{
|
|
index-not-intercepted-early-enough-HACK-1
|
|
Memcheck:Cond
|
|
fun:index
|
|
obj:*
|
|
fun:_dl_map_object
|
|
}
|
|
{
|
|
index-not-intercepted-early-enough-HACK-2
|
|
Memcheck:Cond
|
|
fun:index
|
|
fun:_dl_map_object
|
|
obj:*
|
|
fun:_dl_catch_error
|
|
}
|
|
{
|
|
index-not-intercepted-early-enough-HACK-3
|
|
Memcheck:Cond
|
|
fun:index
|
|
fun:_dl_map_object
|
|
obj:*
|
|
fun:_dl_sysdep_start
|
|
}
|
|
|
|
{
|
|
index-not-intercepted-early-enough-HACK-4
|
|
Memcheck:Cond
|
|
fun:index
|
|
fun:expand_dynamic_string_token
|
|
}
|
|
|
|
|
|
##----------------------------------------------------------------------##
|
|
## MontaVista 3.1 on ppc32 integer only
|
|
{
|
|
MontaVista-3.1-ppc32-#1
|
|
Memcheck:Value4
|
|
obj:/lib/ld-2.3.2.so
|
|
obj:/lib/ld-2.3.2.so
|
|
fun:*dl_map_object*
|
|
obj:/lib/libc-2.3.2.so
|
|
}
|
|
|
|
{
|
|
MontaVista-3.1-ppc32-#2
|
|
Memcheck:Value4
|
|
fun:malloc
|
|
obj:/lib/ld-2.3.2.so
|
|
obj:/lib/ld-2.3.2.so
|
|
obj:/lib/libc-2.3.2.so
|
|
}
|
|
|
|
{
|
|
MontaVista-3.1-ppc32-#3
|
|
Memcheck:Value4
|
|
obj:/lib/ld-2.3.2.so
|
|
obj:/lib/ld-2.3.2.so
|
|
}
|
|
|
|
##----------------------------------------------------------------------##
|
|
## Ubuntu something (based on Debian 3.0?) on x86
|
|
|
|
{
|
|
Ubuntu-stripped-ld.so
|
|
Memcheck:Cond
|
|
obj:/lib/ld-2.3.*.so
|
|
obj:/lib/ld-2.3.*.so
|
|
obj:/lib/ld-2.3.*.so
|
|
obj:/lib/ld-2.3.*.so
|
|
obj:/lib/ld-2.3.*.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
|
|
}
|