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