Home | History | Annotate | Download | only in valgrind
      1 
      2 ##----------------------------------------------------------------------##
      3 
      4 # Errors to suppress by default with glibc 2.2.4 / 2.2.5
      5 
      6 # Format of this file is:
      7 # {
      8 #     name_of_suppression
      9 #     tool_name:supp_kind
     10 #     (optional extra info for some suppression types)
     11 #     caller0 name, or /name/of/so/file.so
     12 #     caller1 name, or ditto
     13 #     (optionally: caller2 name)
     14 #     (optionally: caller3 name)
     15 #  }
     16 #
     17 # For Memcheck, the supp_kinds are:
     18 #
     19 #     Param Value1 Value2 Value4 Value8 Value16 Jump
     20 #     Free Addr1 Addr2 Addr4 Addr8 Addr16
     21 #     Cond (previously known as Value0)
     22 #
     23 # and the optional extra info is:
     24 #     if Param: name of system call param
     25 
     26 #-------- For SuSE 8.2 (gcc 3.3, glibc 2.3.2)
     27 {
     28    __GI___stpcpy/*
     29    Memcheck:Cond
     30    fun:__GI___stpcpy
     31    fun:*
     32 }
     33 {
     34    strlen/__GI__dl_open/dlopen_doit
     35    Memcheck:Cond
     36    fun:strlen
     37    fun:__GI__dl_open
     38    fun:dlopen_doit
     39 }
     40 {
     41    strlen/_dl_signal_cerror/_dl_lookup_symbol_internal/do_dlsym
     42    Memcheck:Cond
     43    fun:_dl_signal_cerror
     44    fun:_dl_lookup_symbol_internal
     45    fun:do_dlsym
     46 }
     47 
     48 
     49 #-------- For R H 8.0
     50 {
     51    elf_dynamic_do_rel.7/_dl_relocate_object_internal/dl_open_worker(Cond)
     52    Memcheck:Cond
     53    fun:elf_dynamic_do_rel.7
     54    fun:_dl_relocate_object_internal
     55    fun:dl_open_worker
     56 }
     57 
     58 
     59 #-------- For R H 7.3 on i686
     60 {
     61    _dl_relocate_object*/*libc-2.2.?.so/_dl_catch_error*(Cond)
     62    Memcheck:Cond
     63    fun:_dl_relocate_object*
     64    obj:*libc-2.2.?.so
     65    fun:_dl_catch_error*
     66 }
     67 {
     68    _dl_relocate_object_internal
     69    Memcheck:Cond
     70    fun:_dl_relocate_object_internal
     71 }
     72 {
     73    index/*-2.2.5.so/*-2.2.5.so
     74    Memcheck:Cond
     75    fun:index
     76    obj:*-2.2.5.so
     77    obj:*-2.2.5.so
     78 }
     79 {
     80    Red Hat 7.3 #4
     81    Memcheck:Cond
     82    fun:strlen
     83    fun:dl_main
     84    fun:_dl_sysdep_start
     85 }
     86 
     87 #-------- SuSE 8.1 stuff (gcc-3.2, glibc-2.2.5 + SuSE's hacks)
     88 {
     89    __stpcpy/*
     90    Memcheck:Cond
     91    fun:__stpcpy
     92    fun:*
     93 }
     94 {
     95    strlen/decompose_rpath/_dl_map_object
     96    Memcheck:Cond
     97    fun:strlen
     98    fun:decompose_rpath
     99    fun:_dl_map_object
    100 }
    101 {
    102    strlen/_dl_sym/dlsym_doit
    103    Memcheck:Cond
    104    fun:strlen
    105    fun:_dl_sym
    106    fun:dlsym_doit
    107 }
    108 {
    109    trecurse/__gconv_release_shlib(Addr4)
    110    Memcheck:Addr4
    111    fun:trecurse
    112    fun:__gconv_release_shlib
    113 }
    114 {
    115    do_release_shlib/trecurse(Addr4)
    116    Memcheck:Addr4
    117    fun:do_release_shlib
    118    fun:trecurse
    119 }
    120 
    121 #-------- R H Limbo (glibc-2.2.90) stuff
    122 {
    123    elf_dynamic_do_rela.8/_dl_relocate_object_internal
    124    Memcheck:Cond
    125    fun:elf_dynamic_do_rela.8
    126    fun:_dl_relocate_object_internal
    127 }
    128 
    129 {
    130    __strnlen/_nl_make_l10nflist(Cond)
    131    Memcheck:Cond
    132    fun:__strnlen
    133    fun:_nl_make_l10nflist
    134 }
    135 
    136 {
    137    __strnlen/*vfprintf*
    138    Memcheck:Cond
    139    fun:__strnlen
    140    fun:*vfprintf*
    141 }
    142 
    143 {
    144    libXaw.so.7.0(Cond)
    145    Memcheck:Cond
    146    obj:*libXaw.so.7.0
    147 }
    148 
    149 #-------- Suppress errors appearing as a result of calling
    150 #-------- __libc_freeres()
    151 
    152 {
    153    __twalk/*(Addr4)
    154    Memcheck:Addr4
    155    fun:__twalk
    156 }
    157 
    158 {
    159    do_release_shlib/__twalk(Addr4)
    160    Memcheck:Addr4
    161    fun:do_release_shlib
    162    fun:__twalk
    163 }
    164 
    165 {
    166    __libc_freeres/free_mem/free(Free)
    167    Memcheck:Free
    168    fun:free
    169    fun:free_mem
    170    fun:__libc_freeres
    171 }
    172 
    173 # even more glibc suppressions ?
    174 {
    175    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond)
    176    Memcheck:Cond
    177    obj:*libc-2.2.?.so
    178    obj:*libc-2.2.?.so
    179    obj:*libc-2.2.?.so
    180 }
    181 {
    182    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value4)
    183    Memcheck:Value4
    184    obj:*libc-2.2.?.so
    185    obj:*libc-2.2.?.so
    186    obj:*libc-2.2.?.so
    187 }
    188 
    189 ##### glibc 2.2.5 stuff perhaps?
    190 ##### suppressions for coolo
    191 {
    192    strchr/dl_open_worker(Cond)
    193    Memcheck:Cond
    194    fun:strchr
    195    fun:dl_open_worker
    196 }
    197 { 
    198    __rawmemchr(Cond)
    199    Memcheck:Cond 
    200    fun:__rawmemchr
    201 } 
    202 { 
    203    _IO_vfprintf/__strnlen(Cond)
    204    Memcheck:Cond 
    205    fun:__strnlen
    206    fun:_IO_vfprintf
    207 } 
    208 { 
    209    __strchrnul/gethostbyname*(Cond)
    210    Memcheck:Cond 
    211    fun:__strchrnul
    212    fun:gethostbyname*
    213 } 
    214 
    215 
    216 ##----
    217 {
    218    strlen/*dl_map_object*(Cond)
    219    Memcheck:Cond
    220    fun:strlen
    221    fun:*dl_map_object*
    222 }
    223 
    224 {
    225    strlen/*dl_open_worker*(Cond)
    226    Memcheck:Cond
    227    fun:strlen
    228    fun:*dl_open_worker*
    229 }
    230 
    231 {
    232    *rawmemchr*/*nss*(Cond)
    233    Memcheck:Cond
    234    fun:*rawmemchr*
    235    fun:*nss*
    236 }
    237 
    238 {
    239    *strchrnul*/*nss*(Cond)
    240    Memcheck:Cond
    241    fun:*strchrnul*
    242    fun:*nss*
    243 }
    244 
    245 # gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
    246 # on Red Hat 7.2 (x86) miscompiles __mpn_construct_double in
    247 # __mpn_construct_double (../sysdeps/ieee754/dbl-64/mpn2dbl.c:45)
    248 # (glibc-2.2.4) to read and write below %esp.  Hence the following
    249 # two:
    250 {
    251    __mpn_construct_double/*(Addr4)
    252    Memcheck:Addr4
    253    fun:__mpn_construct_double
    254    fun:*
    255 }
    256 {
    257    __mpn_construct_double/*(Addr8)
    258    Memcheck:Addr8
    259    fun:__mpn_construct_double
    260    fun:*
    261 }
    262 
    263 # More of the same (gcc bug, I'm pretty sure)
    264 {
    265    __fabs/*(Addr4)
    266    Memcheck:Addr4
    267    fun:__fabs
    268    fun:*
    269 }
    270 {
    271    __fabs/*(Addr8)
    272    Memcheck:Addr8
    273    fun:__fabs
    274    fun:*
    275 }
    276 
    277 
    278 # Not sure what this is about ... but anyway
    279 {
    280    pthread_sighandler/*(Addr4)
    281    Memcheck:Addr4
    282    fun:pthread_sighandler
    283    fun:*
    284 }
    285 
    286 
    287 # More glibc stuff, AFAICS
    288 
    289 {
    290    __strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
    291    Memcheck:Cond
    292    fun:__strnlen
    293    fun:__argz_stringify
    294    fun:_nl_make_l10nflist
    295 }
    296 
    297 #--------------
    298 {
    299    _dl_relocate_object*/dl_open_worker/_dl_catch_error*(Cond)
    300    Memcheck:Cond
    301    fun:_dl_relocate_object*
    302    fun:dl_open_worker
    303    fun:_dl_catch_error*
    304 }
    305 {
    306    _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
    307    Memcheck:Cond
    308    fun:_dl_relocate_object
    309    obj:*libc-2.2.?.so
    310    fun:_dl_catch_error
    311 }
    312 {
    313    _dl_relocate_object/dl_main(Cond)
    314    Memcheck:Cond
    315    fun:_dl_relocate_object
    316    fun:dl_main
    317 }
    318 {
    319    _dl_relocate_object_internal/dl_main(Cond)
    320    Memcheck:Cond
    321    fun:_dl_relocate_object_internal
    322    fun:dl_main
    323 }
    324 
    325 {
    326    strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
    327    Memcheck:Cond
    328    fun:strrchr
    329    fun:_dl_map_object_from_fd
    330    fun:_dl_map_object
    331 }
    332 
    333 {
    334    _dl_start/ld-2.2.4.so(Cond)
    335    Memcheck:Cond
    336    fun:_dl_start
    337    obj:/lib/ld-2.2.4.so
    338 }
    339 
    340 #-------- glibc 2.2.5/ Debian 3.0
    341 {
    342    _dl_start(Cond)
    343    Memcheck:Cond
    344    fun:_dl_start
    345 }
    346 
    347 {
    348    _dl_start(Cond)
    349    Memcheck:Cond
    350    fun:_dl_relocate_object
    351 }
    352 
    353 #-------------------
    354 {
    355    socketcall.connect(serv_addr)/connect/*
    356    Memcheck:Param
    357    socketcall.connect(serv_addr)
    358    fun:connect
    359    fun:*
    360 }
    361 {
    362    socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so
    363    Memcheck:Param
    364    socketcall.connect(serv_addr)
    365    obj:*libc-2.2.?.so
    366    obj:*libc-2.2.?.so
    367 }
    368 
    369 #----------------------
    370 {
    371    write(buf)/write/libX11.so.6.2/libX11.so.6.2(Param)
    372    Memcheck:Param
    373    write(buf)
    374    fun:write
    375    obj:/usr/X11R6/lib/libX11.so.6.2
    376    obj:/usr/X11R6/lib/libX11.so.6.2
    377 }
    378 {
    379    write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param)
    380    Memcheck:Param
    381    write(buf)
    382    obj:*libc-2.2.?.so
    383    obj:/usr/X11R6/lib/libX11.so.6.2
    384    obj:/usr/X11R6/lib/libX11.so.6.2
    385 }
    386 
    387 #{
    388 #   llseek(result)/lseek64/_IO_file_seek(Param)
    389 #   Param
    390 #   llseek(result)
    391 #   fun:lseek64
    392 #   fun:_IO_file_seek
    393 #}
    394 
    395 {
    396    writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2
    397    Memcheck:Param
    398    writev(vector[...])
    399    fun:__writev
    400    obj:/usr/X11R6/lib/libX11.so.6.2
    401    obj:/usr/X11R6/lib/libX11.so.6.2
    402 }
    403 
    404 #----------------
    405 {
    406    __rawmemchr/libXt.so.6.0/libXt.so.6.0
    407    Memcheck:Cond
    408    fun:__rawmemchr
    409    obj:/usr/X11R6/lib/libXt.so.6.0
    410    obj:/usr/X11R6/lib/libXt.so.6.0
    411 }
    412 {
    413    libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
    414    Memcheck:Cond
    415    obj:*libc-2.2.?.so
    416    obj:/usr/X11R6/lib/libXt.so.6.0
    417    obj:/usr/X11R6/lib/libXt.so.6.0
    418 }
    419 
    420 ## Bug in PRE(sys_clone), really.  Some args are not used.
    421 {
    422    LinuxThread clone use (child_tidptr)
    423    Memcheck:Param
    424    clone(child_tidptr)
    425    fun:clone
    426    fun:__pthread_initialize_manager
    427    fun:pthread_create@@GLIBC_2.2.5
    428 }
    429 
    430 ## LinuxThreads manager writes messages containing undefined bytes
    431 {
    432    LinuxThreads: write/pthread_create
    433    Memcheck:Param
    434    write(buf)
    435    fun:pthread_create@@GLIBC_2.1
    436 }
    437 {
    438    LinuxThreads: write/pthread_create
    439    Memcheck:Param
    440    write(buf)
    441    fun:write
    442    fun:pthread_create@@GLIBC_2.1
    443 }
    444 {
    445    LinuxThreads: write/pthread_onexit_process
    446    Memcheck:Param
    447    write(buf)
    448    fun:write
    449    fun:pthread_onexit_process
    450    fun:exit
    451 }
    452 {
    453    LinuxThreads: write/pthread_join
    454    Memcheck:Param
    455    write(buf)
    456    fun:write
    457    fun:pthread_join
    458 }
    459 {
    460    LinuxThreads: write/pthread_create
    461    Memcheck:Param
    462    write(buf)
    463    fun:write
    464    fun:pthread_create@@GLIBC_2.2.5
    465 }
    466 {
    467    LinuxThreads: write/__pthread_initialize_manager/pthread_create
    468    Memcheck:Param
    469    write(buf)
    470    fun:write
    471    fun:__pthread_initialize_manager
    472    fun:pthread_create@@GLIBC_2.2.5
    473 }
    474 
    475 ## LinuxThreads leaks the stack and TLS data for the manager thread
    476 {
    477    LinuxThreads: leaks stack of manager thread
    478    Memcheck:Leak
    479    fun:malloc
    480    fun:__pthread_initialize_manager
    481    fun:pthread_create@@GLIBC_2.1
    482 }
    483 {
    484    LinuxThreads: leaks TLS data for manager thread
    485    Memcheck:Leak
    486    fun:calloc
    487    fun:_dl_allocate_tls
    488    fun:__pthread_initialize_minimal
    489 }
    490 {
    491    LinuxThreads: leaks TLS data for manager thread
    492    Memcheck:Leak
    493    fun:memalign
    494    fun:_dl_allocate_tls
    495    fun:__pthread_initialize_minimal
    496 }
    497 {
    498    LinuxThreads: leaks stack of manager thread
    499    Memcheck:Leak
    500    fun:malloc
    501    fun:__pthread_initialize_manager
    502    fun:pthread_create@@GLIBC_2.2.5
    503 }
    504 {
    505    LinuxThreads: leaks TLS data for manager thread
    506    Memcheck:Leak
    507    fun:calloc
    508    fun:allocate_dtv
    509    fun:_dl_allocate_tls_storage
    510    fun:_dl_allocate_tls
    511    fun:__pthread_initialize_minimal
    512 }
    513 {
    514    LinuxThreads: leaks TLS data for manager thread
    515    Memcheck:Leak
    516    fun:memalign
    517    fun:_dl_allocate_tls_storage
    518    fun:_dl_allocate_tls
    519    fun:__pthread_initialize_minimal
    520 }
    521