diff options
author | Stephane Marchesin <marchesin@icps.u-strasbg.fr> | 2009-05-04 19:05:59 +0200 |
---|---|---|
committer | Stephane Marchesin <marchesin@icps.u-strasbg.fr> | 2009-05-04 19:05:59 +0200 |
commit | 6e410b3bb6ff51580897431105aae14591cbf7fb (patch) | |
tree | f8aeba9352710f10cd6b1d5138c8fc3ece91c8c3 /glibc-2.3.supp |
Diffstat (limited to 'glibc-2.3.supp')
-rw-r--r-- | glibc-2.3.supp | 563 |
1 files changed, 563 insertions, 0 deletions
diff --git a/glibc-2.3.supp b/glibc-2.3.supp new file mode 100644 index 0000000..9ca9300 --- /dev/null +++ b/glibc-2.3.supp @@ -0,0 +1,563 @@ + +##----------------------------------------------------------------------## + +# 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 +} |