blob: 63d686d03eb7b81bf7b6f160ee087ed915f6fedd [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#
njnc0616662003-06-12 09:58:41 +000019# Param Value1 Value2 Value4 Value8 Value16
20# 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
25# if Free: name of free-ing fn)
26
daywalker63f6f782003-05-27 00:19:52 +000027{
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}
daywalkere1879992003-06-03 14:49:54 +000047{
48 strlen/*dl_map_object*(Cond)
49 Memcheck:Cond
50 fun:strlen
51 fun:*dl_map_object*
52}
daywalker63f6f782003-05-27 00:19:52 +000053
daywalkere1879992003-06-03 14:49:54 +000054{
55 strlen/*dl_open_worker*(Cond)
56 Memcheck:Cond
57 fun:strlen
58 fun:*dl_open_worker*
59}
60{
61 strlen/_dl_sym/dlsym_doit
62 Memcheck:Cond
63 fun:strlen
64 fun:_dl_sym
65 fun:dlsym_doit
66}
67{
68 realpath is inefficiently coded
njn1d0825f2006-03-27 11:37:07 +000069 Memcheck:Overlap
daywalkere1879992003-06-03 14:49:54 +000070 fun:memcpy
daywalker777aff52003-07-18 08:06:27 +000071 fun:realpath*
daywalkere1879992003-06-03 14:49:54 +000072}
73
74{
75 realpath stupidity part II
njn1d0825f2006-03-27 11:37:07 +000076 Memcheck:Overlap
daywalkere1879992003-06-03 14:49:54 +000077 fun:strcpy
daywalker777aff52003-07-18 08:06:27 +000078 fun:realpath*
daywalkere1879992003-06-03 14:49:54 +000079}
80{
81 strlen/decompose_rpath/_dl_map_object
82 Memcheck:Cond
83 fun:strlen
84 fun:decompose_rpath
85 fun:*dl_map_object*
86}
87{
88 stpcpy/_dl_sym*
89 Memcheck:Cond
90 fun:__stpcpy
91 fun:_dl_*
92}
daywalker63f6f782003-05-27 00:19:52 +000093
94#-------- For R H 8.0
95{
96 elf_dynamic_do_rel.7/_dl_relocate_object_internal/dl_open_worker(Cond)
97 Memcheck:Cond
98 fun:elf_dynamic_do_rel.7
99 fun:_dl_relocate_object_internal
100 fun:dl_open_worker
101}
daywalkere1879992003-06-03 14:49:54 +0000102{
103 dl_relocate/dl_open_worker
104 Memcheck:Cond
105 fun:_dl_relocate_object_internal
106 fun:dl_open_worker
107}
108
fitzhardinge1c76dc42003-12-15 09:00:21 +0000109#-------- glibc 2.3.2/ Fedora Core 1
110{
111 dl_relocate/dl_main
112 Memcheck:Cond
113 fun:_dl_relocate_object_internal
114 fun:dl_main
115}
116
rjwalsh923e7d62004-04-29 08:50:44 +0000117#-------- glibc 2.3.3/ Fedora Core 2
118{
119 dl_relocate_object/dl_main
120 Memcheck:Cond
121 fun:_dl_relocate_object
122 fun:dl_main
123}
thughese931fd42004-06-03 18:42:34 +0000124{
125 _dl_relocate_object/dl_open_worker
126 Memcheck:Cond
127 fun:_dl_relocate_object
128 fun:dl_open_worker
129}
rjwalsh923e7d62004-04-29 08:50:44 +0000130
sewardjb5f6f512005-03-10 23:59:00 +0000131#-------- glibc 2.3.4/ Fedora Core 3
132{
133 dl_relocate_object
134 Memcheck:Cond
135 fun:_dl_relocate_object
136}
137
fitzhardinge1c76dc42003-12-15 09:00:21 +0000138#-------- Data races
139{
140 _dl_lookup_symbol_internal/fixup/_dl_runtime_resolve
141 Helgrind:Eraser
142 fun:_dl_lookup_symbol_internal
143 fun:fixup
144 fun:_dl_runtime_resolve
145}
146{
rjwalsh923e7d62004-04-29 08:50:44 +0000147 _dl_lookup_symbol_x/fixup/_dl_runtime_resolve
148 Helgrind:Eraser
149 fun:_dl_lookup_symbol_x
150 fun:fixup
151 fun:_dl_runtime_resolve
152}
153{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000154 _dl_lookup_versioned_symbol_internal/fixup/_dl_runtime_resolve
155 Helgrind:Eraser
156 fun:_dl_lookup_versioned_symbol_internal
157 fun:fixup
158 fun:_dl_runtime_resolve
159}
fitzhardinge47735af2004-01-21 01:27:27 +0000160{
thughes55183872004-02-29 12:42:12 +0000161 _dl_lookup_versioned_symbol/ld-2.3.2.so/ld-2.3.2.so
162 Helgrind:Eraser
163 fun:_dl_lookup_versioned_symbol
164 obj:/lib/ld-2.3.2.so
165 obj:/lib/ld-2.3.2.so
166}
167{
thughes489281a2004-10-31 10:18:23 +0000168 _dl_lookup_symbol/ld-2.3.2.so/ld-2.3.2.so
169 Helgrind:Eraser
170 fun:_dl_lookup_symbol
171 obj:/lib/ld-2.3.2.so
172 obj:/lib/ld-2.3.2.so
173}
174{
fitzhardinge47735af2004-01-21 01:27:27 +0000175 _dl_fini
176 Helgrind:Eraser
177 fun:_dl_fini
178}
thughes489281a2004-10-31 10:18:23 +0000179{
180 ld-2.3.2.so/exit/__libc_start_main
181 Helgrind:Eraser
182 obj:/lib/ld-2.3.2.so
183 fun:exit
184 fun:__libc_start_main
185}
daywalker63f6f782003-05-27 00:19:52 +0000186
187#-------- Threading bugs?
188# glibc 'knows' that destroying a locked mutex will unlock it
189{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000190 pthread_error/pthread_mutex_destroy/__closedir
daywalker63f6f782003-05-27 00:19:52 +0000191 core:PThread
192 fun:pthread_error
fitzhardinge1c76dc42003-12-15 09:00:21 +0000193 fun:pthread_mutex_destroy
daywalker63f6f782003-05-27 00:19:52 +0000194 fun:__closedir
195}
196
197{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000198 pthread_error/pthread_mutex_destroy/_IO_default_finish
daywalker63f6f782003-05-27 00:19:52 +0000199 core:PThread
200 fun:pthread_error
fitzhardinge1c76dc42003-12-15 09:00:21 +0000201 fun:pthread_mutex_destroy
daywalker63f6f782003-05-27 00:19:52 +0000202 fun:_IO_default_finish*
203}
204
205{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000206 pthread_mutex_unlock/_IO_funlockfile
daywalker63f6f782003-05-27 00:19:52 +0000207 core:PThread
fitzhardinge1c76dc42003-12-15 09:00:21 +0000208 fun:pthread_mutex_unlock
daywalker63f6f782003-05-27 00:19:52 +0000209 fun:_IO_funlockfile
210}
211
212##----------------------------------------------------------------------##
sewardj7c874c72003-09-27 21:25:30 +0000213## Bugs in helper library supplied with Intel Icc 7.0 (65)
214## in /opt/intel/compiler70/ia32/lib/libcxa.so.3
215{
216 Intel compiler70/ia32/lib/libcxa.so.3 below-esp accesses
njn1d0825f2006-03-27 11:37:07 +0000217 Memcheck:Addr4
sewardj7c874c72003-09-27 21:25:30 +0000218 obj:/opt/intel/compiler70/ia32/lib/libcxa.so.3
219}
jsewardf93e8472003-12-24 11:45:16 +0000220
221##----------------------------------------------------------------------##
222## SuSE 9 after FV changes (post 2.1.0)
223
224{
225 strlen/_dl_init_paths/dl_main/_dl_sysdep_start(Cond)
226 Memcheck:Cond
227 fun:strlen
228 fun:_dl_init_paths
229 fun:dl_main
230 fun:_dl_sysdep_start
231}
232
233{
234 Ugly strchr error in /lib/ld-2.3.2.so
235 Memcheck:Cond
236 obj:/lib/ld-2.3.2.so
237}
fitzhardinge47735af2004-01-21 01:27:27 +0000238
239##----------------------------------------------------------------------##
jseward38276e82004-07-20 22:42:44 +0000240## SuSE 9.1 with post 2.1.2
fitzhardinge47735af2004-01-21 01:27:27 +0000241{
jseward38276e82004-07-20 22:42:44 +0000242 Ugly strchr error in /lib/ld-2.3.3.so
fitzhardinge47735af2004-01-21 01:27:27 +0000243 Memcheck:Cond
jseward38276e82004-07-20 22:42:44 +0000244 obj:/lib/ld-2.3.3.so
fitzhardinge47735af2004-01-21 01:27:27 +0000245}
sewardj0d683fe2005-03-14 19:25:49 +0000246
247##----------------------------------------------------------------------##
248## SuSE 9.1 with 3.0 branch (x86)
249{
250 Strstr dubiousness in pthread_initialize
251 Memcheck:Cond
252 fun:strstr
253 fun:pthread_initialize
254 obj:/lib/libpthread.so.0
255 obj:/lib/libpthread.so.0
256}
257
sewardjb5f6f512005-03-10 23:59:00 +0000258##----------------------------------------------------------------------##
259## glibc-2.3.3 on FC2
260## Assumes that sysctl returns \0-terminated strings in is_smp_system
sewardjf8033c72005-05-16 16:39:28 +0000261#{
262# Unterminated strstr string in is_smp_system() (NPTL)
263# Memcheck:Cond
264# fun:strstr
265# fun:__pthread_initialize_minimal
266# obj:/lib/tls/libpthread*.so*
267# obj:/lib/tls/libpthread*.so*
268#}
269#{
270# Unterminated strstr string in is_smp_system() (LinuxThreads)
271# Memcheck:Cond
272# fun:strstr
273# fun:pthread_initialize
274# obj:/lib/i686/libpthread*.so*
275# obj:/lib/i686/libpthread*.so*
276#}
277#{
278# Unterminated strstr string in is_smp_system() (LinuxThreads)
279# Memcheck:Cond
280# fun:strstr
281# fun:pthread_initialize
282# obj:/lib/libpthread-0.10.so
283# obj:/lib/libpthread-0.10.so
284#}
sewardjb5f6f512005-03-10 23:59:00 +0000285
286## Bug in PRE(sys_clone), really. Some args are not used.
287{
288 LinuxThread clone use (parent_tidptr)
289 Memcheck:Param
290 clone(parent_tidptr)
291 fun:clone
292 fun:pthread_create
293}
294{
295 LinuxThread clone use (child_tidptr)
296 Memcheck:Param
297 clone(child_tidptr)
298 fun:clone
299 fun:pthread_create
300}
301{
302 LinuxThread clone use (tlsinfo)
303 Memcheck:Param
304 clone(tlsinfo)
305 fun:clone
306 fun:pthread_create
307}
308{
309 LinuxThread clone use (parent_tidptr)
310 Memcheck:Param
311 clone(parent_tidptr)
312 fun:clone
313 fun:pthread_create@@GLIBC_2.1
314}
315{
316 LinuxThread clone use (child_tidptr)
317 Memcheck:Param
318 clone(child_tidptr)
319 fun:clone
320 fun:pthread_create@@GLIBC_2.1
321}
322{
323 LinuxThread clone use (tlsinfo)
324 Memcheck:Param
325 clone(tlsinfo)
326 fun:clone
327 fun:pthread_create@@GLIBC_2.1
328}
329
330## LinuxThreads manager writes messages containing undefined bytes
331{
332 LinuxThreads: write/pthread_onexit_process
333 Memcheck:Param
334 write(buf)
335 fun:pthread_onexit_process
336 fun:exit
337}
338{
339 LinuxThreads: write/pthread_join
340 Memcheck:Param
341 write(buf)
342 fun:pthread_join
343}
344{
345 LinuxThreads: write/pthread_create
346 Memcheck:Param
347 write(buf)
348 fun:pthread_create@@GLIBC_2.1
349}
350{
351 LinuxThreads: write/__pthread_initialize_manager/pthread_create
352 Memcheck:Param
353 write(buf)
354 fun:__pthread_initialize_manager
355 fun:pthread_create@@GLIBC_2.1
356}
357
358{
359 LinuxThreads: write/pthread_create
360 Memcheck:Param
361 write(buf)
362 fun:write
363 fun:pthread_create
364}
365
tomf7e9d872005-08-20 12:05:32 +0000366## LinuxThreads leaks the stack and TLS data for the manager thread
367{
368 LinuxThreads: leaks stack of manager thread
369 Memcheck:Leak
370 fun:malloc
371 fun:__pthread_initialize_manager
372 fun:pthread_create@@GLIBC_2.1
373}
374{
375 LinuxThreads: leaks TLS data for manager thread
376 Memcheck:Leak
377 fun:calloc
378 fun:_dl_allocate_tls
379 fun:__pthread_initialize_minimal
380}
381{
382 LinuxThreads: leaks TLS data for manager thread
383 Memcheck:Leak
384 fun:memalign
385 fun:_dl_allocate_tls
386 fun:__pthread_initialize_minimal
387}
388
sewardjb5f6f512005-03-10 23:59:00 +0000389##----------------------------------------------------------------------##
390## glibc-2.3.4 on FC3
391## Assumes that sysctl returns \0-terminated strings in is_smp_system
sewardjf8033c72005-05-16 16:39:28 +0000392#{
393# Unterminated strstr string in is_smp_system() (NPTL)
394# Memcheck:Cond
395# fun:strstr
396# fun:__pthread_initialize_minimal
397# obj:/lib/tls/libpthread-2.3.4.so
398# obj:/lib/tls/libpthread-2.3.4.so
399#}
400#{
401# Unterminated strstr string in is_smp_system() (NPTL)
402# Memcheck:Cond
403# fun:strstr
404# fun:__pthread_initialize_minimal
405# obj:/lib64/tls/libpthread*.so*
406#}
sewardj24b46342005-05-12 18:00:12 +0000407
sewardj917701d2005-05-15 17:18:40 +0000408##----------------------------------------------------------------------##
409## glibc-2.3.5 on FC4
410## Assumes that sysctl returns \0-terminated strings in is_smp_system
sewardjf8033c72005-05-16 16:39:28 +0000411#{
412# Unterminated strstr string in is_smp_system() (NPTL)
413# Memcheck:Cond
414# fun:strstr
415# fun:__pthread_initialize_minimal
416# obj:*/libpthread-2.3.5.so
417# obj:*/libpthread-2.3.5.so
418#}
sewardj24b46342005-05-12 18:00:12 +0000419
420
421##----------------------------------------------------------------------##
sewardj31d83422005-10-15 02:00:41 +0000422#
423# I don't know why this is needed, but still:
424{
dirk671ccb22006-02-22 16:10:16 +0000425 glibc-2.3.x-on-SuSE-10.0-(PPC)-1
sewardj31d83422005-10-15 02:00:41 +0000426 Memcheck:Cond
427 fun:_dl_start
428 fun:_start
429}
sewardj285c0b72005-11-18 00:15:18 +0000430{
dirk671ccb22006-02-22 16:10:16 +0000431 glibc-2.3.x-on-SuSE-10.1-(PPC)-1
432 Memcheck:Cond
433 fun:_dl_start_final
434 fun:_dl_start
435 fun:_start
436}
437{
dirkb4fdb122006-02-21 18:04:16 +0000438 glibc-2.3.x-on-SuSE-10.0/10.1-(PPC)-2a
sewardj285c0b72005-11-18 00:15:18 +0000439 Memcheck:Cond
440 fun:index
dirkb4fdb122006-02-21 18:04:16 +0000441 obj:*ld-2.3.*.so
sewardj285c0b72005-11-18 00:15:18 +0000442}
443{
dirkb4fdb122006-02-21 18:04:16 +0000444 glibc-2.3.x-on-SuSE-10.0/10.1-(PPC)-2b
sewardj285c0b72005-11-18 00:15:18 +0000445 Memcheck:Addr4
446 fun:index
447 fun:expand_dynamic_string_token
448}
449{
dirkb4fdb122006-02-21 18:04:16 +0000450 glibc-2.3.5-on-SuSE-10.0/10.1-(PPC)-2c
sewardj37a1fc12005-11-18 18:33:28 +0000451 Memcheck:Addr4
452 fun:index
dirkb4fdb122006-02-21 18:04:16 +0000453 obj:*ld-2.3.*.so
sewardj37a1fc12005-11-18 18:33:28 +0000454}
455{
dirkb4fdb122006-02-21 18:04:16 +0000456 glibc-2.3.5-on-SuSE-10.0/10.1-(PPC)-3
sewardj285c0b72005-11-18 00:15:18 +0000457 Memcheck:Addr4
458 fun:*wordcopy_fwd_dest_aligned*
459 fun:mem*cpy
dirkb4fdb122006-02-21 18:04:16 +0000460 obj:*lib*2.3.*.so
sewardj285c0b72005-11-18 00:15:18 +0000461}
sewardjd1e697a2006-05-07 23:38:23 +0000462{
463 glibc-2.3.5-on-SuSE-10.0/10.1-(PPC)-4
464 Memcheck:Addr4
465 fun:bcmp
466 fun:*rpath*
467 fun:*rpath*
468 fun:*rpath*
469}
sewardj31d83422005-10-15 02:00:41 +0000470
471##----------------------------------------------------------------------##
sewardj24b46342005-05-12 18:00:12 +0000472# Hacks pertaining to the fact that our intercept mechanism can't
473# always get hold of strlen early enough, due to idiocy in the low
474# level memory manager.
475
476## HACK to do with strlen not being intercepted early enough
477{
478 strlen-not-intercepted-early-enough-HACK-1
479 Memcheck:Addr4
480 fun:strlen
481 fun:_dl_map_object_from_fd
482 fun:_dl_map_object
483}
484
485{
486 strlen-not-intercepted-early-enough-HACK-2
487 Memcheck:Addr4
488 fun:strlen
489 fun:decompose_rpath
490 fun:cache_rpath
491 fun:_dl_map_object
492}
493
494{
495 strlen-not-intercepted-early-enough-HACK-3
496 Memcheck:Cond
497 fun:strlen
498 fun:_dl_new_object
499 fun:_dl_map_object_from_fd
500 fun:_dl_map_object
501}
502
503{
504 strlen-not-intercepted-early-enough-HACK-4
505 Memcheck:Cond
506 fun:strlen
507 fun:expand_dynamic_string_token
508 fun:_dl_map_object
509}
510
511{
512 strlen-not-intercepted-early-enough-HACK-5
513 Memcheck:Cond
514 fun:strlen
515 fun:fillin_rpath
516 fun:_dl_init_paths
517}
518
519
520## HACK to do with index not being intercepted early enough
521{
522 index-not-intercepted-early-enough-HACK-1
523 Memcheck:Cond
524 fun:index
dirk59b559a2005-08-19 20:23:49 +0000525 obj:*
sewardj24b46342005-05-12 18:00:12 +0000526 fun:_dl_map_object
527}
528{
529 index-not-intercepted-early-enough-HACK-2
530 Memcheck:Cond
531 fun:index
532 fun:_dl_map_object
dirk59b559a2005-08-19 20:23:49 +0000533 obj:*
sewardj24b46342005-05-12 18:00:12 +0000534 fun:_dl_catch_error
535}
536{
537 index-not-intercepted-early-enough-HACK-3
538 Memcheck:Cond
539 fun:index
540 fun:_dl_map_object
dirk59b559a2005-08-19 20:23:49 +0000541 obj:*
sewardj24b46342005-05-12 18:00:12 +0000542 fun:_dl_sysdep_start
543}
sewardjf36e99a2005-11-13 02:42:23 +0000544
sewardj59f18112006-02-10 12:42:46 +0000545{
546 index-not-intercepted-early-enough-HACK-4
547 Memcheck:Cond
548 fun:index
549 fun:expand_dynamic_string_token
550}
551
552
sewardjf36e99a2005-11-13 02:42:23 +0000553##----------------------------------------------------------------------##
554## MontaVista 3.1 on ppc32 integer only
555{
556 MontaVista-3.1-ppc32-#1
557 Memcheck:Value4
558 obj:/lib/ld-2.3.2.so
559 obj:/lib/ld-2.3.2.so
560 fun:*dl_map_object*
561 obj:/lib/libc-2.3.2.so
562}
563
564{
565 MontaVista-3.1-ppc32-#2
566 Memcheck:Value4
567 fun:malloc
568 obj:/lib/ld-2.3.2.so
569 obj:/lib/ld-2.3.2.so
570 obj:/lib/libc-2.3.2.so
571}
572
573{
574 MontaVista-3.1-ppc32-#3
575 Memcheck:Value4
576 obj:/lib/ld-2.3.2.so
577 obj:/lib/ld-2.3.2.so
578}
njn1132e822005-11-18 17:09:36 +0000579
580##----------------------------------------------------------------------##
581## Ubuntu something (based on Debian 3.0?) on x86
582
583{
584 Ubuntu-stripped-ld.so
585 Memcheck:Cond
dirkff0a32a2006-02-27 08:41:32 +0000586 obj:/lib/ld-2.3.*.so
587 obj:/lib/ld-2.3.*.so
588 obj:/lib/ld-2.3.*.so
589 obj:/lib/ld-2.3.*.so
590 obj:/lib/ld-2.3.*.so
njn1132e822005-11-18 17:09:36 +0000591}
592