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