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