blob: 8ed7825a49b6ec73cca565202b6df995de9febb5 [file] [log] [blame]
daywalker63f6f782003-05-27 00:19:52 +00001
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
nethercote137bc552003-11-14 17:47:54 +00009# tool_name:supp_kind
daywalker63f6f782003-05-27 00:19:52 +000010# (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#
njn718d3b12006-12-16 00:54:12 +000019# Param Value1 Value2 Value4 Value8 Value16 Jump
njnc0616662003-06-12 09:58:41 +000020# Free Addr1 Addr2 Addr4 Addr8 Addr16
daywalker63f6f782003-05-27 00:19:52 +000021# Cond (previously known as Value0)
22#
23# and the optional extra info is:
24# if Param: name of system call param
daywalker63f6f782003-05-27 00:19:52 +000025
daywalker63f6f782003-05-27 00:19:52 +000026{
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}
daywalkere1879992003-06-03 14:49:54 +000046{
47 strlen/*dl_map_object*(Cond)
48 Memcheck:Cond
49 fun:strlen
50 fun:*dl_map_object*
51}
daywalker63f6f782003-05-27 00:19:52 +000052
daywalkere1879992003-06-03 14:49:54 +000053{
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
njn1d0825f2006-03-27 11:37:07 +000068 Memcheck:Overlap
daywalkere1879992003-06-03 14:49:54 +000069 fun:memcpy
daywalker777aff52003-07-18 08:06:27 +000070 fun:realpath*
daywalkere1879992003-06-03 14:49:54 +000071}
72
73{
74 realpath stupidity part II
njn1d0825f2006-03-27 11:37:07 +000075 Memcheck:Overlap
daywalkere1879992003-06-03 14:49:54 +000076 fun:strcpy
daywalker777aff52003-07-18 08:06:27 +000077 fun:realpath*
daywalkere1879992003-06-03 14:49:54 +000078}
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}
daywalker63f6f782003-05-27 00:19:52 +000092
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}
daywalkere1879992003-06-03 14:49:54 +0000101{
102 dl_relocate/dl_open_worker
103 Memcheck:Cond
104 fun:_dl_relocate_object_internal
105 fun:dl_open_worker
106}
107
fitzhardinge1c76dc42003-12-15 09:00:21 +0000108#-------- glibc 2.3.2/ Fedora Core 1
109{
110 dl_relocate/dl_main
111 Memcheck:Cond
112 fun:_dl_relocate_object_internal
113 fun:dl_main
114}
115
rjwalsh923e7d62004-04-29 08:50:44 +0000116#-------- glibc 2.3.3/ Fedora Core 2
117{
118 dl_relocate_object/dl_main
119 Memcheck:Cond
120 fun:_dl_relocate_object
121 fun:dl_main
122}
thughese931fd42004-06-03 18:42:34 +0000123{
124 _dl_relocate_object/dl_open_worker
125 Memcheck:Cond
126 fun:_dl_relocate_object
127 fun:dl_open_worker
128}
rjwalsh923e7d62004-04-29 08:50:44 +0000129
sewardjb5f6f512005-03-10 23:59:00 +0000130#-------- glibc 2.3.4/ Fedora Core 3
131{
132 dl_relocate_object
133 Memcheck:Cond
134 fun:_dl_relocate_object
135}
136
fitzhardinge1c76dc42003-12-15 09:00:21 +0000137#-------- Data races
138{
139 _dl_lookup_symbol_internal/fixup/_dl_runtime_resolve
140 Helgrind:Eraser
141 fun:_dl_lookup_symbol_internal
142 fun:fixup
143 fun:_dl_runtime_resolve
144}
145{
rjwalsh923e7d62004-04-29 08:50:44 +0000146 _dl_lookup_symbol_x/fixup/_dl_runtime_resolve
147 Helgrind:Eraser
148 fun:_dl_lookup_symbol_x
149 fun:fixup
150 fun:_dl_runtime_resolve
151}
152{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000153 _dl_lookup_versioned_symbol_internal/fixup/_dl_runtime_resolve
154 Helgrind:Eraser
155 fun:_dl_lookup_versioned_symbol_internal
156 fun:fixup
157 fun:_dl_runtime_resolve
158}
fitzhardinge47735af2004-01-21 01:27:27 +0000159{
thughes55183872004-02-29 12:42:12 +0000160 _dl_lookup_versioned_symbol/ld-2.3.2.so/ld-2.3.2.so
161 Helgrind:Eraser
162 fun:_dl_lookup_versioned_symbol
163 obj:/lib/ld-2.3.2.so
164 obj:/lib/ld-2.3.2.so
165}
166{
thughes489281a2004-10-31 10:18:23 +0000167 _dl_lookup_symbol/ld-2.3.2.so/ld-2.3.2.so
168 Helgrind:Eraser
169 fun:_dl_lookup_symbol
170 obj:/lib/ld-2.3.2.so
171 obj:/lib/ld-2.3.2.so
172}
173{
fitzhardinge47735af2004-01-21 01:27:27 +0000174 _dl_fini
175 Helgrind:Eraser
176 fun:_dl_fini
177}
thughes489281a2004-10-31 10:18:23 +0000178{
179 ld-2.3.2.so/exit/__libc_start_main
180 Helgrind:Eraser
181 obj:/lib/ld-2.3.2.so
182 fun:exit
183 fun:__libc_start_main
184}
daywalker63f6f782003-05-27 00:19:52 +0000185
daywalker63f6f782003-05-27 00:19:52 +0000186##----------------------------------------------------------------------##
sewardj7c874c72003-09-27 21:25:30 +0000187## Bugs in helper library supplied with Intel Icc 7.0 (65)
188## in /opt/intel/compiler70/ia32/lib/libcxa.so.3
189{
190 Intel compiler70/ia32/lib/libcxa.so.3 below-esp accesses
njn1d0825f2006-03-27 11:37:07 +0000191 Memcheck:Addr4
sewardj7c874c72003-09-27 21:25:30 +0000192 obj:/opt/intel/compiler70/ia32/lib/libcxa.so.3
193}
jsewardf93e8472003-12-24 11:45:16 +0000194
195##----------------------------------------------------------------------##
196## SuSE 9 after FV changes (post 2.1.0)
197
198{
199 strlen/_dl_init_paths/dl_main/_dl_sysdep_start(Cond)
200 Memcheck:Cond
201 fun:strlen
202 fun:_dl_init_paths
203 fun:dl_main
204 fun:_dl_sysdep_start
205}
206
207{
208 Ugly strchr error in /lib/ld-2.3.2.so
209 Memcheck:Cond
210 obj:/lib/ld-2.3.2.so
211}
fitzhardinge47735af2004-01-21 01:27:27 +0000212
213##----------------------------------------------------------------------##
jseward38276e82004-07-20 22:42:44 +0000214## SuSE 9.1 with post 2.1.2
fitzhardinge47735af2004-01-21 01:27:27 +0000215{
jseward38276e82004-07-20 22:42:44 +0000216 Ugly strchr error in /lib/ld-2.3.3.so
fitzhardinge47735af2004-01-21 01:27:27 +0000217 Memcheck:Cond
jseward38276e82004-07-20 22:42:44 +0000218 obj:/lib/ld-2.3.3.so
fitzhardinge47735af2004-01-21 01:27:27 +0000219}
sewardj0d683fe2005-03-14 19:25:49 +0000220
221##----------------------------------------------------------------------##
222## SuSE 9.1 with 3.0 branch (x86)
223{
224 Strstr dubiousness in pthread_initialize
225 Memcheck:Cond
226 fun:strstr
227 fun:pthread_initialize
228 obj:/lib/libpthread.so.0
229 obj:/lib/libpthread.so.0
230}
231
sewardjb5f6f512005-03-10 23:59:00 +0000232##----------------------------------------------------------------------##
233## glibc-2.3.3 on FC2
234## Assumes that sysctl returns \0-terminated strings in is_smp_system
sewardjf8033c72005-05-16 16:39:28 +0000235#{
236# Unterminated strstr string in is_smp_system() (NPTL)
237# Memcheck:Cond
238# fun:strstr
239# fun:__pthread_initialize_minimal
240# obj:/lib/tls/libpthread*.so*
241# obj:/lib/tls/libpthread*.so*
242#}
243#{
244# Unterminated strstr string in is_smp_system() (LinuxThreads)
245# Memcheck:Cond
246# fun:strstr
247# fun:pthread_initialize
248# obj:/lib/i686/libpthread*.so*
249# obj:/lib/i686/libpthread*.so*
250#}
251#{
252# Unterminated strstr string in is_smp_system() (LinuxThreads)
253# Memcheck:Cond
254# fun:strstr
255# fun:pthread_initialize
256# obj:/lib/libpthread-0.10.so
257# obj:/lib/libpthread-0.10.so
258#}
sewardjb5f6f512005-03-10 23:59:00 +0000259
260## Bug in PRE(sys_clone), really. Some args are not used.
261{
262 LinuxThread clone use (parent_tidptr)
263 Memcheck:Param
264 clone(parent_tidptr)
265 fun:clone
266 fun:pthread_create
267}
268{
269 LinuxThread clone use (child_tidptr)
270 Memcheck:Param
271 clone(child_tidptr)
272 fun:clone
273 fun:pthread_create
274}
275{
276 LinuxThread clone use (tlsinfo)
277 Memcheck:Param
278 clone(tlsinfo)
279 fun:clone
280 fun:pthread_create
281}
282{
283 LinuxThread clone use (parent_tidptr)
284 Memcheck:Param
285 clone(parent_tidptr)
286 fun:clone
287 fun:pthread_create@@GLIBC_2.1
288}
289{
290 LinuxThread clone use (child_tidptr)
291 Memcheck:Param
292 clone(child_tidptr)
293 fun:clone
294 fun:pthread_create@@GLIBC_2.1
295}
296{
297 LinuxThread clone use (tlsinfo)
298 Memcheck:Param
299 clone(tlsinfo)
300 fun:clone
301 fun:pthread_create@@GLIBC_2.1
302}
303
304## LinuxThreads manager writes messages containing undefined bytes
305{
306 LinuxThreads: write/pthread_onexit_process
307 Memcheck:Param
308 write(buf)
309 fun:pthread_onexit_process
310 fun:exit
311}
312{
313 LinuxThreads: write/pthread_join
314 Memcheck:Param
315 write(buf)
316 fun:pthread_join
317}
318{
319 LinuxThreads: write/pthread_create
320 Memcheck:Param
321 write(buf)
322 fun:pthread_create@@GLIBC_2.1
323}
324{
325 LinuxThreads: write/__pthread_initialize_manager/pthread_create
326 Memcheck:Param
327 write(buf)
328 fun:__pthread_initialize_manager
329 fun:pthread_create@@GLIBC_2.1
330}
331
332{
333 LinuxThreads: write/pthread_create
334 Memcheck:Param
335 write(buf)
336 fun:write
337 fun:pthread_create
338}
339
tomf7e9d872005-08-20 12:05:32 +0000340## LinuxThreads leaks the stack and TLS data for the manager thread
341{
342 LinuxThreads: leaks stack of manager thread
343 Memcheck:Leak
344 fun:malloc
345 fun:__pthread_initialize_manager
346 fun:pthread_create@@GLIBC_2.1
347}
348{
349 LinuxThreads: leaks TLS data for manager thread
350 Memcheck:Leak
351 fun:calloc
352 fun:_dl_allocate_tls
353 fun:__pthread_initialize_minimal
354}
355{
356 LinuxThreads: leaks TLS data for manager thread
357 Memcheck:Leak
358 fun:memalign
359 fun:_dl_allocate_tls
360 fun:__pthread_initialize_minimal
361}
362
sewardjb5f6f512005-03-10 23:59:00 +0000363##----------------------------------------------------------------------##
364## glibc-2.3.4 on FC3
365## Assumes that sysctl returns \0-terminated strings in is_smp_system
sewardjf8033c72005-05-16 16:39:28 +0000366#{
367# Unterminated strstr string in is_smp_system() (NPTL)
368# Memcheck:Cond
369# fun:strstr
370# fun:__pthread_initialize_minimal
371# obj:/lib/tls/libpthread-2.3.4.so
372# obj:/lib/tls/libpthread-2.3.4.so
373#}
374#{
375# Unterminated strstr string in is_smp_system() (NPTL)
376# Memcheck:Cond
377# fun:strstr
378# fun:__pthread_initialize_minimal
379# obj:/lib64/tls/libpthread*.so*
380#}
sewardj24b46342005-05-12 18:00:12 +0000381
sewardj917701d2005-05-15 17:18:40 +0000382##----------------------------------------------------------------------##
383## glibc-2.3.5 on FC4
384## Assumes that sysctl returns \0-terminated strings in is_smp_system
sewardjf8033c72005-05-16 16:39:28 +0000385#{
386# Unterminated strstr string in is_smp_system() (NPTL)
387# Memcheck:Cond
388# fun:strstr
389# fun:__pthread_initialize_minimal
390# obj:*/libpthread-2.3.5.so
391# obj:*/libpthread-2.3.5.so
392#}
sewardj24b46342005-05-12 18:00:12 +0000393
394
395##----------------------------------------------------------------------##
sewardj31d83422005-10-15 02:00:41 +0000396#
397# I don't know why this is needed, but still:
398{
dirk671ccb22006-02-22 16:10:16 +0000399 glibc-2.3.x-on-SuSE-10.0-(PPC)-1
sewardj31d83422005-10-15 02:00:41 +0000400 Memcheck:Cond
401 fun:_dl_start
402 fun:_start
403}
sewardj285c0b72005-11-18 00:15:18 +0000404{
dirk671ccb22006-02-22 16:10:16 +0000405 glibc-2.3.x-on-SuSE-10.1-(PPC)-1
406 Memcheck:Cond
407 fun:_dl_start_final
408 fun:_dl_start
409 fun:_start
410}
411{
dirkb4fdb122006-02-21 18:04:16 +0000412 glibc-2.3.x-on-SuSE-10.0/10.1-(PPC)-2a
sewardj285c0b72005-11-18 00:15:18 +0000413 Memcheck:Cond
414 fun:index
dirkb4fdb122006-02-21 18:04:16 +0000415 obj:*ld-2.3.*.so
sewardj285c0b72005-11-18 00:15:18 +0000416}
417{
dirkb4fdb122006-02-21 18:04:16 +0000418 glibc-2.3.x-on-SuSE-10.0/10.1-(PPC)-2b
sewardj285c0b72005-11-18 00:15:18 +0000419 Memcheck:Addr4
420 fun:index
421 fun:expand_dynamic_string_token
422}
423{
dirkb4fdb122006-02-21 18:04:16 +0000424 glibc-2.3.5-on-SuSE-10.0/10.1-(PPC)-2c
sewardj37a1fc12005-11-18 18:33:28 +0000425 Memcheck:Addr4
426 fun:index
dirkb4fdb122006-02-21 18:04:16 +0000427 obj:*ld-2.3.*.so
sewardj37a1fc12005-11-18 18:33:28 +0000428}
429{
dirkb4fdb122006-02-21 18:04:16 +0000430 glibc-2.3.5-on-SuSE-10.0/10.1-(PPC)-3
sewardj285c0b72005-11-18 00:15:18 +0000431 Memcheck:Addr4
432 fun:*wordcopy_fwd_dest_aligned*
433 fun:mem*cpy
dirkb4fdb122006-02-21 18:04:16 +0000434 obj:*lib*2.3.*.so
sewardj285c0b72005-11-18 00:15:18 +0000435}
sewardjd1e697a2006-05-07 23:38:23 +0000436{
437 glibc-2.3.5-on-SuSE-10.0/10.1-(PPC)-4
438 Memcheck:Addr4
439 fun:bcmp
440 fun:*rpath*
441 fun:*rpath*
442 fun:*rpath*
443}
sewardj31d83422005-10-15 02:00:41 +0000444
445##----------------------------------------------------------------------##
sewardj24b46342005-05-12 18:00:12 +0000446# Hacks pertaining to the fact that our intercept mechanism can't
447# always get hold of strlen early enough, due to idiocy in the low
448# level memory manager.
449
450## HACK to do with strlen not being intercepted early enough
451{
452 strlen-not-intercepted-early-enough-HACK-1
453 Memcheck:Addr4
454 fun:strlen
455 fun:_dl_map_object_from_fd
456 fun:_dl_map_object
457}
458
459{
460 strlen-not-intercepted-early-enough-HACK-2
461 Memcheck:Addr4
462 fun:strlen
463 fun:decompose_rpath
464 fun:cache_rpath
465 fun:_dl_map_object
466}
467
468{
469 strlen-not-intercepted-early-enough-HACK-3
470 Memcheck:Cond
471 fun:strlen
472 fun:_dl_new_object
473 fun:_dl_map_object_from_fd
474 fun:_dl_map_object
475}
476
477{
478 strlen-not-intercepted-early-enough-HACK-4
479 Memcheck:Cond
480 fun:strlen
481 fun:expand_dynamic_string_token
482 fun:_dl_map_object
483}
484
485{
486 strlen-not-intercepted-early-enough-HACK-5
487 Memcheck:Cond
488 fun:strlen
489 fun:fillin_rpath
490 fun:_dl_init_paths
491}
492
493
494## HACK to do with index not being intercepted early enough
495{
496 index-not-intercepted-early-enough-HACK-1
497 Memcheck:Cond
498 fun:index
dirk59b559a2005-08-19 20:23:49 +0000499 obj:*
sewardj24b46342005-05-12 18:00:12 +0000500 fun:_dl_map_object
501}
502{
503 index-not-intercepted-early-enough-HACK-2
504 Memcheck:Cond
505 fun:index
506 fun:_dl_map_object
dirk59b559a2005-08-19 20:23:49 +0000507 obj:*
sewardj24b46342005-05-12 18:00:12 +0000508 fun:_dl_catch_error
509}
510{
511 index-not-intercepted-early-enough-HACK-3
512 Memcheck:Cond
513 fun:index
514 fun:_dl_map_object
dirk59b559a2005-08-19 20:23:49 +0000515 obj:*
sewardj24b46342005-05-12 18:00:12 +0000516 fun:_dl_sysdep_start
517}
sewardjf36e99a2005-11-13 02:42:23 +0000518
sewardj59f18112006-02-10 12:42:46 +0000519{
520 index-not-intercepted-early-enough-HACK-4
521 Memcheck:Cond
522 fun:index
523 fun:expand_dynamic_string_token
524}
525
526
sewardjf36e99a2005-11-13 02:42:23 +0000527##----------------------------------------------------------------------##
528## MontaVista 3.1 on ppc32 integer only
529{
530 MontaVista-3.1-ppc32-#1
531 Memcheck:Value4
532 obj:/lib/ld-2.3.2.so
533 obj:/lib/ld-2.3.2.so
534 fun:*dl_map_object*
535 obj:/lib/libc-2.3.2.so
536}
537
538{
539 MontaVista-3.1-ppc32-#2
540 Memcheck:Value4
541 fun:malloc
542 obj:/lib/ld-2.3.2.so
543 obj:/lib/ld-2.3.2.so
544 obj:/lib/libc-2.3.2.so
545}
546
547{
548 MontaVista-3.1-ppc32-#3
549 Memcheck:Value4
550 obj:/lib/ld-2.3.2.so
551 obj:/lib/ld-2.3.2.so
552}
njn1132e822005-11-18 17:09:36 +0000553
554##----------------------------------------------------------------------##
555## Ubuntu something (based on Debian 3.0?) on x86
556
557{
558 Ubuntu-stripped-ld.so
559 Memcheck:Cond
dirkff0a32a2006-02-27 08:41:32 +0000560 obj:/lib/ld-2.3.*.so
561 obj:/lib/ld-2.3.*.so
562 obj:/lib/ld-2.3.*.so
563 obj:/lib/ld-2.3.*.so
564 obj:/lib/ld-2.3.*.so
njn1132e822005-11-18 17:09:36 +0000565}
566
sewardj5ce775f2007-01-05 15:09:53 +0000567##----------------------------------------------------------------------##
568# MontaVista Linux 4.0.1 on ppc32
569{
570 MVL-401-linuxthreads-pthread_create
571 Memcheck:Param
572 write(buf)
573 fun:pthread_create
574}
575{
576 MVL-401-linuxthreads-pthread_create
577 Memcheck:Param
578 write(buf)
579 obj:/lib/libpthread-0.10.so
580 fun:pthread_create
581}