Home | History | Annotate | Download | only in main
      1 
      2 ##----------------------------------------------------------------------##
      3 
      4 # Errors to suppress by default with glibc 2.3.x
      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 {
     27    __GI___stpcpy/*
     28    Memcheck:Cond
     29    fun:__GI___stpcpy
     30    fun:*
     31 }
     32 {
     33    strlen/__GI__dl_open/dlopen_doit
     34    Memcheck:Cond
     35    fun:strlen
     36    fun:__GI__dl_open
     37    fun:dlopen_doit
     38 }
     39 {
     40    strlen/_dl_signal_cerror/_dl_lookup_symbol_internal/do_dlsym
     41    Memcheck:Cond
     42    fun:_dl_signal_cerror
     43    fun:_dl_lookup_symbol_internal
     44    fun:do_dlsym
     45 }
     46 {
     47    strlen/*dl_map_object*(Cond)
     48    Memcheck:Cond
     49    fun:strlen
     50    fun:*dl_map_object*
     51 }
     52 
     53 {
     54    strlen/*dl_open_worker*(Cond)
     55    Memcheck:Cond
     56    fun:strlen
     57    fun:*dl_open_worker*
     58 }
     59 {
     60    strlen/_dl_sym/dlsym_doit
     61    Memcheck:Cond
     62    fun:strlen
     63    fun:_dl_sym
     64    fun:dlsym_doit
     65 }
     66 {
     67    realpath is inefficiently coded
     68    Memcheck:Overlap
     69    fun:memcpy
     70    fun:realpath*
     71 }
     72 
     73 {
     74    realpath stupidity part II
     75    Memcheck:Overlap
     76    fun:strcpy
     77    fun:realpath*
     78 }
     79 {
     80    strlen/decompose_rpath/_dl_map_object
     81    Memcheck:Cond
     82    fun:strlen
     83    fun:decompose_rpath
     84    fun:*dl_map_object*
     85 }
     86 {
     87    stpcpy/_dl_sym*
     88    Memcheck:Cond
     89    fun:__stpcpy
     90    fun:_dl_*
     91 }
     92 
     93 #-------- For R H 8.0
     94 {
     95    elf_dynamic_do_rel.7/_dl_relocate_object_internal/dl_open_worker(Cond)
     96    Memcheck:Cond
     97    fun:elf_dynamic_do_rel.7
     98    fun:_dl_relocate_object_internal
     99    fun:dl_open_worker
    100 }
    101 {
    102    dl_relocate/dl_open_worker
    103    Memcheck:Cond
    104    fun:_dl_relocate_object_internal
    105    fun:dl_open_worker
    106 }
    107 {
    108    RedHat8-1
    109    Memcheck:Cond
    110    fun:elf_dynamic_do_rela.8
    111    fun:_dl_relocate_object
    112    fun:dl_main
    113    fun:_dl_sysdep_start
    114 }
    115 {
    116    RedHat8-2
    117    Memcheck:Cond
    118    fun:elf_dynamic_do_rel.7
    119    fun:_dl_relocate_object
    120    fun:dl_main
    121    fun:_dl_sysdep_start
    122 }
    123 {
    124    RedHat8-3
    125    Memcheck:Cond
    126    fun:elf_dynamic_do_rela.8
    127    fun:_dl_relocate_object
    128    fun:dl_open_worker
    129 }
    130 
    131 #-------- glibc 2.3.2/ Fedora Core 1
    132 {
    133    dl_relocate/dl_main
    134    Memcheck:Cond
    135    fun:_dl_relocate_object_internal
    136    fun:dl_main
    137 }
    138 
    139 #-------- glibc 2.3.3/ Fedora Core 2
    140 {
    141    dl_relocate_object/dl_main
    142    Memcheck:Cond
    143    fun:_dl_relocate_object
    144    fun:dl_main
    145 }
    146 {
    147    _dl_relocate_object/dl_open_worker
    148    Memcheck:Cond
    149    fun:_dl_relocate_object
    150    fun:dl_open_worker
    151 }
    152 
    153 #-------- glibc 2.3.4/ Fedora Core 3
    154 {
    155    dl_relocate_object
    156    Memcheck:Cond
    157    fun:_dl_relocate_object
    158 }
    159 
    160 ##----------------------------------------------------------------------##
    161 ## Bugs in helper library supplied with Intel Icc 7.0 (65)
    162 ## in /opt/intel/compiler70/ia32/lib/libcxa.so.3
    163 {
    164    Intel compiler70/ia32/lib/libcxa.so.3 below-esp accesses
    165    Memcheck:Addr4
    166    obj:/opt/intel/compiler70/ia32/lib/libcxa.so.3
    167 }
    168 
    169 ##----------------------------------------------------------------------##
    170 ## SuSE 9 after FV changes (post 2.1.0)
    171 
    172 {
    173    strlen/_dl_init_paths/dl_main/_dl_sysdep_start(Cond)
    174    Memcheck:Cond
    175    fun:strlen
    176    fun:_dl_init_paths
    177    fun:dl_main
    178    fun:_dl_sysdep_start
    179 }
    180 
    181 {
    182    Ugly strchr error in /lib/ld-2.3.2.so
    183    Memcheck:Cond
    184    obj:/lib/ld-2.3.2.so
    185 }
    186 
    187 ##----------------------------------------------------------------------##
    188 ## SuSE 9.1 with post 2.1.2
    189 {
    190    Ugly strchr error in /lib/ld-2.3.3.so
    191    Memcheck:Cond
    192    obj:/lib/ld-2.3.3.so
    193 }
    194 
    195 ##----------------------------------------------------------------------##
    196 ## SuSE 9.1 with 3.0 branch (x86)
    197 {
    198    Strstr dubiousness in pthread_initialize
    199    Memcheck:Cond
    200    fun:strstr
    201    fun:pthread_initialize
    202    obj:/lib/libpthread.so.0
    203    obj:/lib/libpthread.so.0
    204 }
    205 
    206 ##----------------------------------------------------------------------##
    207 ## glibc-2.3.3 on FC2
    208 ## Assumes that sysctl returns \0-terminated strings in is_smp_system
    209 #{
    210 #   Unterminated strstr string in is_smp_system() (NPTL)
    211 #   Memcheck:Cond
    212 #   fun:strstr
    213 #   fun:__pthread_initialize_minimal
    214 #   obj:/lib/tls/libpthread*.so*
    215 #   obj:/lib/tls/libpthread*.so*
    216 #}
    217 #{
    218 #   Unterminated strstr string in is_smp_system() (LinuxThreads)
    219 #   Memcheck:Cond
    220 #   fun:strstr
    221 #   fun:pthread_initialize
    222 #   obj:/lib/i686/libpthread*.so*
    223 #   obj:/lib/i686/libpthread*.so*
    224 #}
    225 #{
    226 #   Unterminated strstr string in is_smp_system() (LinuxThreads)
    227 #   Memcheck:Cond
    228 #   fun:strstr
    229 #   fun:pthread_initialize
    230 #   obj:/lib/libpthread-0.10.so
    231 #   obj:/lib/libpthread-0.10.so
    232 #}
    233 
    234 ## Bug in PRE(sys_clone), really.  Some args are not used.
    235 {
    236    LinuxThread clone use (parent_tidptr)
    237    Memcheck:Param
    238    clone(parent_tidptr)
    239    fun:clone
    240    fun:pthread_create
    241 }
    242 {
    243    LinuxThread clone use (child_tidptr)
    244    Memcheck:Param
    245    clone(child_tidptr)
    246    fun:clone
    247    fun:pthread_create
    248 }
    249 {
    250    LinuxThread clone use (tlsinfo)
    251    Memcheck:Param
    252    clone(tlsinfo)
    253    fun:clone
    254    fun:pthread_create
    255 }
    256 {
    257    LinuxThread clone use (parent_tidptr)
    258    Memcheck:Param
    259    clone(parent_tidptr)
    260    fun:clone
    261    fun:pthread_create@@GLIBC_2.1
    262 }
    263 {
    264    LinuxThread clone use (child_tidptr)
    265    Memcheck:Param
    266    clone(child_tidptr)
    267    fun:clone
    268    fun:pthread_create@@GLIBC_2.1
    269 }
    270 {
    271    LinuxThread clone use (tlsinfo)
    272    Memcheck:Param
    273    clone(tlsinfo)
    274    fun:clone
    275    fun:pthread_create@@GLIBC_2.1
    276 }
    277 
    278 ## LinuxThreads manager writes messages containing undefined bytes
    279 {
    280    LinuxThreads: write/pthread_onexit_process
    281    Memcheck:Param
    282    write(buf)
    283    fun:pthread_onexit_process
    284    fun:exit
    285 }
    286 {
    287    LinuxThreads: write/pthread_join
    288    Memcheck:Param
    289    write(buf)
    290    fun:pthread_join
    291 }
    292 {
    293    LinuxThreads: write/pthread_create
    294    Memcheck:Param
    295    write(buf)
    296    fun:pthread_create@@GLIBC_2.1
    297 }
    298 {
    299    LinuxThreads: write/pthread_create 2
    300    Memcheck:Param
    301    write(buf)
    302    fun:write
    303    fun:pthread_create@@GLIBC_2.1
    304    fun:main
    305 }
    306 {
    307    LinuxThreads: write/__pthread_initialize_manager/pthread_create
    308    Memcheck:Param
    309    write(buf)
    310    fun:__pthread_initialize_manager
    311    fun:pthread_create@@GLIBC_2.1
    312 }
    313 
    314 {
    315    LinuxThreads: write/pthread_create
    316    Memcheck:Param
    317    write(buf)
    318    fun:write
    319    fun:pthread_create
    320 }
    321 
    322 ## LinuxThreads leaks the stack and TLS data for the manager thread
    323 {
    324    LinuxThreads: leaks stack of manager thread
    325    Memcheck:Leak
    326    fun:malloc
    327    fun:__pthread_initialize_manager
    328    fun:pthread_create@@GLIBC_2.1
    329 }
    330 {
    331    LinuxThreads: leaks TLS data for manager thread
    332    Memcheck:Leak
    333    fun:calloc
    334    fun:_dl_allocate_tls
    335    fun:__pthread_initialize_minimal
    336 }
    337 {
    338    LinuxThreads: leaks TLS data for manager thread
    339    Memcheck:Leak
    340    fun:memalign
    341    fun:_dl_allocate_tls
    342    fun:__pthread_initialize_minimal
    343 }
    344 
    345 ##----------------------------------------------------------------------##
    346 ## glibc-2.3.4 on FC3
    347 ## Assumes that sysctl returns \0-terminated strings in is_smp_system
    348 #{
    349 #   Unterminated strstr string in is_smp_system() (NPTL)
    350 #   Memcheck:Cond
    351 #   fun:strstr
    352 #   fun:__pthread_initialize_minimal
    353 #   obj:/lib/tls/libpthread-2.3.4.so
    354 #   obj:/lib/tls/libpthread-2.3.4.so
    355 #}
    356 #{
    357 #   Unterminated strstr string in is_smp_system() (NPTL)
    358 #   Memcheck:Cond
    359 #   fun:strstr
    360 #   fun:__pthread_initialize_minimal
    361 #   obj:/lib64/tls/libpthread*.so*
    362 #}
    363 
    364 ##----------------------------------------------------------------------##
    365 ## glibc-2.3.5 on FC4
    366 ## Assumes that sysctl returns \0-terminated strings in is_smp_system
    367 #{
    368 #   Unterminated strstr string in is_smp_system() (NPTL)
    369 #   Memcheck:Cond
    370 #   fun:strstr
    371 #   fun:__pthread_initialize_minimal
    372 #   obj:*/libpthread-2.3.5.so
    373 #   obj:*/libpthread-2.3.5.so
    374 #}
    375 
    376 
    377 ##----------------------------------------------------------------------##
    378 # 
    379 # I don't know why this is needed, but still:
    380 {
    381    glibc-2.3.x-on-SuSE-10.0-(PPC)-1
    382    Memcheck:Cond
    383    fun:_dl_start
    384    fun:_start
    385 }
    386 {
    387    glibc-2.3.x-on-SuSE-10.1-(PPC)-1
    388    Memcheck:Cond
    389    fun:_dl_start_final
    390    fun:_dl_start
    391    fun:_start
    392 }
    393 {
    394    glibc-2.3.x-on-SuSE-10.0/10.1-(PPC)-2a
    395    Memcheck:Cond
    396    fun:index
    397    obj:*ld-2.3.*.so
    398 }
    399 {
    400    glibc-2.3.x-on-SuSE-10.0/10.1-(PPC)-2b
    401    Memcheck:Addr4
    402    fun:index
    403    fun:expand_dynamic_string_token
    404 }
    405 {
    406    glibc-2.3.5-on-SuSE-10.0/10.1-(PPC)-2c
    407    Memcheck:Addr4
    408    fun:index
    409    obj:*ld-2.3.*.so
    410 }
    411 {
    412    glibc-2.3.5-on-SuSE-10.0/10.1-(PPC)-3
    413    Memcheck:Addr4
    414    fun:*wordcopy_fwd_dest_aligned*
    415    fun:mem*cpy
    416    obj:*lib*2.3.*.so
    417 }
    418 {
    419    glibc-2.3.5-on-SuSE-10.0/10.1-(PPC)-4
    420    Memcheck:Addr4
    421    fun:bcmp
    422    fun:*rpath*
    423    fun:*rpath*
    424    fun:*rpath*
    425 }
    426 
    427 ##----------------------------------------------------------------------##
    428 # Hacks pertaining to the fact that our intercept mechanism can't
    429 # always get hold of strlen early enough, due to idiocy in the low
    430 # level memory manager.
    431 
    432 ## HACK to do with strlen not being intercepted early enough
    433 {
    434    strlen-not-intercepted-early-enough-HACK-1
    435    Memcheck:Addr4
    436    fun:strlen
    437    fun:_dl_map_object_from_fd
    438    fun:_dl_map_object
    439 }
    440 
    441 {
    442    strlen-not-intercepted-early-enough-HACK-2
    443    Memcheck:Addr4
    444    fun:strlen
    445    fun:decompose_rpath
    446    fun:cache_rpath
    447    fun:_dl_map_object
    448 }
    449 
    450 {
    451    strlen-not-intercepted-early-enough-HACK-3
    452    Memcheck:Cond
    453    fun:strlen
    454    fun:_dl_new_object
    455    fun:_dl_map_object_from_fd
    456    fun:_dl_map_object
    457 }
    458 
    459 {
    460    strlen-not-intercepted-early-enough-HACK-4
    461    Memcheck:Cond
    462    fun:strlen
    463    fun:expand_dynamic_string_token
    464    fun:_dl_map_object
    465 }
    466 
    467 {
    468    strlen-not-intercepted-early-enough-HACK-5
    469    Memcheck:Cond
    470    fun:strlen
    471    fun:fillin_rpath
    472    fun:_dl_init_paths
    473 }
    474 
    475 
    476 ## HACK to do with index not being intercepted early enough
    477 {
    478    index-not-intercepted-early-enough-HACK-1
    479    Memcheck:Cond
    480    fun:index
    481    obj:*
    482    fun:_dl_map_object
    483 }
    484 {
    485    index-not-intercepted-early-enough-HACK-2
    486    Memcheck:Cond
    487    fun:index
    488    fun:_dl_map_object
    489    obj:*
    490    fun:_dl_catch_error
    491 }
    492 {
    493    index-not-intercepted-early-enough-HACK-3
    494    Memcheck:Cond
    495    fun:index
    496    fun:_dl_map_object
    497    obj:*
    498    fun:_dl_sysdep_start
    499 }
    500 
    501 {
    502    index-not-intercepted-early-enough-HACK-4
    503    Memcheck:Cond
    504    fun:index
    505    fun:expand_dynamic_string_token
    506 }
    507 
    508 
    509 ##----------------------------------------------------------------------##
    510 ## MontaVista 3.1 on ppc32 integer only
    511 {
    512    MontaVista-3.1-ppc32-#1
    513    Memcheck:Value4
    514    obj:/lib/ld-2.3.2.so
    515    obj:/lib/ld-2.3.2.so
    516    fun:*dl_map_object*
    517    obj:/lib/libc-2.3.2.so
    518 }
    519 
    520 {
    521    MontaVista-3.1-ppc32-#2
    522    Memcheck:Value4
    523    fun:malloc
    524    obj:/lib/ld-2.3.2.so
    525    obj:/lib/ld-2.3.2.so
    526    obj:/lib/libc-2.3.2.so
    527 }
    528 
    529 {
    530    MontaVista-3.1-ppc32-#3
    531    Memcheck:Value4
    532    obj:/lib/ld-2.3.2.so
    533    obj:/lib/ld-2.3.2.so
    534 }
    535 
    536 ##----------------------------------------------------------------------##
    537 ## Ubuntu something (based on Debian 3.0?) on x86
    538 
    539 {
    540    Ubuntu-stripped-ld.so
    541    Memcheck:Cond
    542    obj:/lib/ld-2.3.*.so
    543    obj:/lib/ld-2.3.*.so
    544    obj:/lib/ld-2.3.*.so
    545    obj:/lib/ld-2.3.*.so
    546    obj:/lib/ld-2.3.*.so
    547 }
    548 
    549 ##----------------------------------------------------------------------##
    550 # MontaVista Linux 4.0.1 on ppc32
    551 {
    552     MVL-401-linuxthreads-pthread_create
    553     Memcheck:Param
    554     write(buf)
    555     fun:pthread_create
    556 }
    557 {
    558    MVL-401-linuxthreads-pthread_create
    559    Memcheck:Param
    560    write(buf)
    561    obj:/lib/libpthread-0.10.so
    562    fun:pthread_create
    563 }
    564