blob: d81fcf11fc57c6f463106a2f94eee6bb3f195216 [file] [log] [blame]
gobry3b777892002-04-04 09:18:39 +00001
2##----------------------------------------------------------------------##
3
sewardj45328392002-05-16 20:57:26 +00004# Errors to suppress by default with glibc 2.2.4 / 2.2.5
gobry3b777892002-04-04 09:18:39 +00005
6# Format of this file is:
7# {
8# name_of_suppression
nethercote137bc552003-11-14 17:47:54 +00009# tool_name:supp_kind
njnc40c3a82002-10-02 11:02:27 +000010# (optional extra info for some suppression types)
gobry3b777892002-04-04 09:18:39 +000011# caller0 name, or /name/of/so/file.so
12# caller1 name, or ditto
13# (optionally: caller2 name)
14# (optionally: caller3 name)
njnc40c3a82002-10-02 11:02:27 +000015# }
16#
sewardj34eccb12002-10-05 16:49:09 +000017# For Memcheck, the supp_kinds are:
njnc40c3a82002-10-02 11:02:27 +000018#
njnc0616662003-06-12 09:58:41 +000019# Param Value1 Value2 Value4 Value8 Value16
20# Free Addr1 Addr2 Addr4 Addr8 Addr16
njnc40c3a82002-10-02 11:02:27 +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)
sewardj9bf05a82002-06-06 09:02:11 +000026
sewardj3a751df2003-03-16 10:55:06 +000027#-------- For SuSE 8.2 (gcc 3.3, glibc 2.3.2)
28{
29 __GI___stpcpy/*
30 Memcheck:Cond
31 fun:__GI___stpcpy
32 fun:*
33}
34{
35 strlen/__GI__dl_open/dlopen_doit
36 Memcheck:Cond
37 fun:strlen
38 fun:__GI__dl_open
39 fun:dlopen_doit
40}
41{
42 strlen/_dl_signal_cerror/_dl_lookup_symbol_internal/do_dlsym
43 Memcheck:Cond
44 fun:_dl_signal_cerror
45 fun:_dl_lookup_symbol_internal
46 fun:do_dlsym
47}
48
49
sewardjef0227c2002-12-15 23:09:24 +000050#-------- For R H 8.0
51{
52 elf_dynamic_do_rel.7/_dl_relocate_object_internal/dl_open_worker(Cond)
53 Memcheck:Cond
54 fun:elf_dynamic_do_rel.7
55 fun:_dl_relocate_object_internal
56 fun:dl_open_worker
57}
58
59
sewardjc26044b2002-10-20 16:27:43 +000060#-------- For R H 7.3 on i686
61{
62 _dl_relocate_object*/*libc-2.2.?.so/_dl_catch_error*(Cond)
63 Memcheck:Cond
64 fun:_dl_relocate_object*
65 obj:*libc-2.2.?.so
66 fun:_dl_catch_error*
67}
68
69
sewardj20719f62002-09-27 00:58:10 +000070#-------- SuSE 8.1 stuff (gcc-3.2, glibc-2.2.5 + SuSE's hacks)
71{
72 __stpcpy/*
sewardj34eccb12002-10-05 16:49:09 +000073 Memcheck:Cond
sewardj20719f62002-09-27 00:58:10 +000074 fun:__stpcpy
75 fun:*
76}
77{
78 strlen/decompose_rpath/_dl_map_object
sewardj34eccb12002-10-05 16:49:09 +000079 Memcheck:Cond
sewardj20719f62002-09-27 00:58:10 +000080 fun:strlen
81 fun:decompose_rpath
82 fun:_dl_map_object
83}
84{
85 strlen/_dl_sym/dlsym_doit
sewardj34eccb12002-10-05 16:49:09 +000086 Memcheck:Cond
sewardj20719f62002-09-27 00:58:10 +000087 fun:strlen
88 fun:_dl_sym
89 fun:dlsym_doit
90}
91{
92 trecurse/__gconv_release_shlib(Addr4)
njn11cc9252002-10-07 14:42:59 +000093 Addrcheck,Memcheck:Addr4
sewardj20719f62002-09-27 00:58:10 +000094 fun:trecurse
95 fun:__gconv_release_shlib
96}
97{
98 do_release_shlib/trecurse(Addr4)
njn11cc9252002-10-07 14:42:59 +000099 Addrcheck,Memcheck:Addr4
sewardj20719f62002-09-27 00:58:10 +0000100 fun:do_release_shlib
101 fun:trecurse
102}
103
sewardj75452642002-07-25 02:21:53 +0000104#-------- R H Limbo (glibc-2.2.90) stuff
105{
106 elf_dynamic_do_rela.8/_dl_relocate_object_internal
sewardj34eccb12002-10-05 16:49:09 +0000107 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +0000108 fun:elf_dynamic_do_rela.8
109 fun:_dl_relocate_object_internal
110}
111
112{
113 __strnlen/_nl_make_l10nflist(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000114 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +0000115 fun:__strnlen
116 fun:_nl_make_l10nflist
117}
118
119{
120 __strnlen/*vfprintf*
sewardj34eccb12002-10-05 16:49:09 +0000121 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +0000122 fun:__strnlen
123 fun:*vfprintf*
124}
125
126{
127 libXaw.so.7.0(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000128 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +0000129 obj:*libXaw.so.7.0
130}
sewardj9bf05a82002-06-06 09:02:11 +0000131
sewardj1fe7b002002-07-16 01:43:15 +0000132#-------- Suppress errors appearing as a result of calling
133#-------- __libc_freeres()
134
135{
136 __twalk/*(Addr4)
njn11cc9252002-10-07 14:42:59 +0000137 Addrcheck,Memcheck:Addr4
sewardj1fe7b002002-07-16 01:43:15 +0000138 fun:__twalk
139}
140
141{
142 do_release_shlib/__twalk(Addr4)
njn11cc9252002-10-07 14:42:59 +0000143 Addrcheck,Memcheck:Addr4
sewardj1fe7b002002-07-16 01:43:15 +0000144 fun:do_release_shlib
145 fun:__twalk
146}
147
148{
149 __libc_freeres/free_mem/free(Free)
njn11cc9252002-10-07 14:42:59 +0000150 Addrcheck,Memcheck:Free
sewardj1fe7b002002-07-16 01:43:15 +0000151 fun:free
152 fun:free_mem
153 fun:__libc_freeres
154}
155
njn25e49d8e72002-09-23 09:36:25 +0000156#-------- Data races
mueller1c2d0652004-02-28 21:21:46 +0000157{
158 _dl_lookup_symbol/fixup/_dl_runtime_resolve
159 Helgrind:Eraser
160 fun:_dl_lookup_symbol
161 fun:fixup
162 fun:_dl_runtime_resolve
163}
164
165{
thughes53459ef2004-10-31 10:13:18 +0000166 _dl_lookup_symbol_internal/fixup/_dl_runtime_resolve
167 Helgrind:Eraser
168 fun:_dl_lookup_symbol_internal
169 fun:fixup
170 fun:_dl_runtime_resolve
171}
172
173{
mueller1c2d0652004-02-28 21:21:46 +0000174 _dl_lookup_versioned_symbol/fixup/_dl_runtime_resolve
175 Helgrind:Eraser
176 fun:_dl_lookup_versioned_symbol
177 fun:fixup
178 fun:_dl_runtime_resolve
179}
180
181{
thughesf3feaaf2004-02-29 13:00:51 +0000182 _dl_lookup_versioned_symbol_internal/fixup/_dl_runtime_resolve
183 Helgrind:Eraser
184 fun:_dl_lookup_versioned_symbol_internal
185 fun:fixup
186 fun:_dl_runtime_resolve
187}
188
189{
mueller1c2d0652004-02-28 21:21:46 +0000190 _dl_fini/exit/__libc_start_main
191 Helgrind:Eraser
192 fun:_dl_fini
193 fun:exit
194 fun:__libc_start_main
195}
sewardj9bf05a82002-06-06 09:02:11 +0000196
thughes361cda72004-10-30 20:39:10 +0000197{
198 _dl_map_object_deps/dl_open_worker/_dl_catch_error/_dl_open
199 Helgrind:Eraser
200 fun:_dl_map_object_deps
201 fun:dl_open_worker
202 fun:_dl_catch_error
203 fun:_dl_open
204}
205
thughes53459ef2004-10-31 10:13:18 +0000206{
207 _dl_map_object_deps_internal/dl_open_worker/_dl_catch_error_internal/_dl_open
208 Helgrind:Eraser
209 fun:_dl_map_object_deps_internal
210 fun:dl_open_worker
211 fun:_dl_catch_error_internal
212 fun:_dl_open
213}
214
njn25e49d8e72002-09-23 09:36:25 +0000215#-------- Threading bugs?
sewardjd8acdf22002-11-13 21:57:52 +0000216# glibc 'knows' that destroying a locked mutex will unlock it
sewardj9bf05a82002-06-06 09:02:11 +0000217{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000218 pthread_error/pthread_mutex_destroy/__closedir
njnc40c3a82002-10-02 11:02:27 +0000219 core:PThread
sewardj9bf05a82002-06-06 09:02:11 +0000220 fun:pthread_error
fitzhardinge1c76dc42003-12-15 09:00:21 +0000221 fun:pthread_mutex_destroy
sewardj9bf05a82002-06-06 09:02:11 +0000222 fun:__closedir
223}
224
225{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000226 pthread_error/pthread_mutex_destroy/_IO_default_finish
njnc40c3a82002-10-02 11:02:27 +0000227 core:PThread
sewardj9bf05a82002-06-06 09:02:11 +0000228 fun:pthread_error
fitzhardinge1c76dc42003-12-15 09:00:21 +0000229 fun:pthread_mutex_destroy
sewardj924bc002002-06-07 00:29:39 +0000230 fun:_IO_default_finish*
sewardj9bf05a82002-06-06 09:02:11 +0000231}
232
233{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000234 pthread_mutex_unlock/_IO_funlockfile
njnc40c3a82002-10-02 11:02:27 +0000235 core:PThread
fitzhardinge1c76dc42003-12-15 09:00:21 +0000236 fun:pthread_mutex_unlock
sewardj9bf05a82002-06-06 09:02:11 +0000237 fun:_IO_funlockfile
238}
gobry3b777892002-04-04 09:18:39 +0000239
gobry3b777892002-04-04 09:18:39 +0000240# even more glibc suppressions ?
241{
242 libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000243 Memcheck:Cond
sewardj45328392002-05-16 20:57:26 +0000244 obj:*libc-2.2.?.so
245 obj:*libc-2.2.?.so
246 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000247}
248{
249 libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value4)
sewardj34eccb12002-10-05 16:49:09 +0000250 Memcheck:Value4
sewardj45328392002-05-16 20:57:26 +0000251 obj:*libc-2.2.?.so
252 obj:*libc-2.2.?.so
253 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000254}
255
256##### glibc 2.2.5 stuff perhaps?
257##### suppressions for coolo
258{
259 strchr/dl_open_worker(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000260 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000261 fun:strchr
262 fun:dl_open_worker
263}
264{
sewardjb55fc4e2002-07-14 13:04:38 +0000265 __rawmemchr(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000266 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000267 fun:__rawmemchr
gobry3b777892002-04-04 09:18:39 +0000268}
269{
270 _IO_vfprintf/__strnlen(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000271 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000272 fun:__strnlen
273 fun:_IO_vfprintf
274}
275{
276 __strchrnul/gethostbyname*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000277 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000278 fun:__strchrnul
279 fun:gethostbyname*
280}
281
282
283##----
284{
285 strlen/*dl_map_object*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000286 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000287 fun:strlen
288 fun:*dl_map_object*
289}
290
291{
292 strlen/*dl_open_worker*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000293 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000294 fun:strlen
295 fun:*dl_open_worker*
296}
297
298{
299 *rawmemchr*/*nss*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000300 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000301 fun:*rawmemchr*
302 fun:*nss*
303}
304
305{
306 *strchrnul*/*nss*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000307 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000308 fun:*strchrnul*
309 fun:*nss*
310}
311
312# gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
313# on Red Hat 7.2 (x86) miscompiles __mpn_construct_double in
314# __mpn_construct_double (../sysdeps/ieee754/dbl-64/mpn2dbl.c:45)
315# (glibc-2.2.4) to read and write below %esp. Hence the following
316# two:
317{
318 __mpn_construct_double/*(Addr4)
njn11cc9252002-10-07 14:42:59 +0000319 Addrcheck,Memcheck:Addr4
gobry3b777892002-04-04 09:18:39 +0000320 fun:__mpn_construct_double
321 fun:*
322}
323{
324 __mpn_construct_double/*(Addr8)
njn11cc9252002-10-07 14:42:59 +0000325 Addrcheck,Memcheck:Addr8
gobry3b777892002-04-04 09:18:39 +0000326 fun:__mpn_construct_double
327 fun:*
328}
329
330# More of the same (gcc bug, I'm pretty sure)
331{
332 __fabs/*(Addr4)
njn11cc9252002-10-07 14:42:59 +0000333 Addrcheck,Memcheck:Addr4
gobry3b777892002-04-04 09:18:39 +0000334 fun:__fabs
335 fun:*
336}
337{
338 __fabs/*(Addr8)
njn11cc9252002-10-07 14:42:59 +0000339 Addrcheck,Memcheck:Addr8
gobry3b777892002-04-04 09:18:39 +0000340 fun:__fabs
341 fun:*
342}
343
344
345# Not sure what this is about ... but anyway
346{
347 pthread_sighandler/*(Addr4)
njn11cc9252002-10-07 14:42:59 +0000348 Addrcheck,Memcheck:Addr4
gobry3b777892002-04-04 09:18:39 +0000349 fun:pthread_sighandler
350 fun:*
351}
352
353
354# More glibc stuff, AFAICS
355
356{
357 __strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000358 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000359 fun:__strnlen
360 fun:__argz_stringify
361 fun:_nl_make_l10nflist
362}
363
364#--------------
365{
sewardj924bc002002-06-07 00:29:39 +0000366 _dl_relocate_object*/dl_open_worker/_dl_catch_error*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000367 Memcheck:Cond
sewardj924bc002002-06-07 00:29:39 +0000368 fun:_dl_relocate_object*
gobry3b777892002-04-04 09:18:39 +0000369 fun:dl_open_worker
sewardj924bc002002-06-07 00:29:39 +0000370 fun:_dl_catch_error*
gobry3b777892002-04-04 09:18:39 +0000371}
372{
373 _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000374 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000375 fun:_dl_relocate_object
sewardj45328392002-05-16 20:57:26 +0000376 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000377 fun:_dl_catch_error
378}
mueller1c2d0652004-02-28 21:21:46 +0000379{
thughesac0692a2004-07-17 14:16:03 +0000380 _dl_relocate_object/dl_main(Cond)
mueller1c2d0652004-02-28 21:21:46 +0000381 Memcheck:Cond
382 fun:_dl_relocate_object
383 fun:dl_main
mueller1c2d0652004-02-28 21:21:46 +0000384}
thughesf3feaaf2004-02-29 13:00:51 +0000385{
thughesac0692a2004-07-17 14:16:03 +0000386 _dl_relocate_object_internal/dl_main(Cond)
thughesf3feaaf2004-02-29 13:00:51 +0000387 Memcheck:Cond
388 fun:_dl_relocate_object_internal
389 fun:dl_main
thughesf3feaaf2004-02-29 13:00:51 +0000390}
gobry3b777892002-04-04 09:18:39 +0000391
392{
393 strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000394 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000395 fun:strrchr
396 fun:_dl_map_object_from_fd
397 fun:_dl_map_object
398}
399
mueller1c2d0652004-02-28 21:21:46 +0000400{
401 _dl_init/ld-2.2.4.so(Cond)
402 Memcheck:Cond
403 fun:_dl_start
404 obj:/lib/ld-2.2.4.so
405}
406
gobry3b777892002-04-04 09:18:39 +0000407#-------------------
408{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000409 socketcall.connect(serv_addr)/connect/*
njn11cc9252002-10-07 14:42:59 +0000410 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000411 socketcall.connect(serv_addr)
fitzhardinge1c76dc42003-12-15 09:00:21 +0000412 fun:connect
gobry3b777892002-04-04 09:18:39 +0000413 fun:*
414}
415{
416 socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so
njn11cc9252002-10-07 14:42:59 +0000417 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000418 socketcall.connect(serv_addr)
sewardj45328392002-05-16 20:57:26 +0000419 obj:*libc-2.2.?.so
420 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000421}
422
423#----------------------
424{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000425 write(buf)/write/libX11.so.6.2/libX11.so.6.2(Param)
njn11cc9252002-10-07 14:42:59 +0000426 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000427 write(buf)
fitzhardinge1c76dc42003-12-15 09:00:21 +0000428 fun:write
gobry3b777892002-04-04 09:18:39 +0000429 obj:/usr/X11R6/lib/libX11.so.6.2
430 obj:/usr/X11R6/lib/libX11.so.6.2
431}
432{
433 write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param)
njn11cc9252002-10-07 14:42:59 +0000434 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000435 write(buf)
sewardj45328392002-05-16 20:57:26 +0000436 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000437 obj:/usr/X11R6/lib/libX11.so.6.2
438 obj:/usr/X11R6/lib/libX11.so.6.2
439}
440
441#{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000442# llseek(result)/lseek64/_IO_file_seek(Param)
gobry3b777892002-04-04 09:18:39 +0000443# Param
444# llseek(result)
fitzhardinge1c76dc42003-12-15 09:00:21 +0000445# fun:lseek64
gobry3b777892002-04-04 09:18:39 +0000446# fun:_IO_file_seek
447#}
448
449{
450 writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2
njn11cc9252002-10-07 14:42:59 +0000451 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000452 writev(vector[...])
453 fun:__writev
454 obj:/usr/X11R6/lib/libX11.so.6.2
455 obj:/usr/X11R6/lib/libX11.so.6.2
456}
457
458#----------------
459{
460 __rawmemchr/libXt.so.6.0/libXt.so.6.0
sewardj34eccb12002-10-05 16:49:09 +0000461 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000462 fun:__rawmemchr
463 obj:/usr/X11R6/lib/libXt.so.6.0
464 obj:/usr/X11R6/lib/libXt.so.6.0
465}
466{
467 libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
sewardj34eccb12002-10-05 16:49:09 +0000468 Memcheck:Cond
sewardj45328392002-05-16 20:57:26 +0000469 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000470 obj:/usr/X11R6/lib/libXt.so.6.0
471 obj:/usr/X11R6/lib/libXt.so.6.0
472}
473
474##----------------------------------------------------------------------##
njn866db0d2003-05-08 07:53:52 +0000475## For a leak in Valgrind's own libpthread.so :(
476{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000477 my_malloc/get_or_allocate_specifics_ptr/pthread_key_create(Leak)
njn866db0d2003-05-08 07:53:52 +0000478 Memcheck:Leak
nethercoted71a9af2004-04-25 12:02:31 +0000479 fun:malloc
njn866db0d2003-05-08 07:53:52 +0000480 fun:my_malloc
481 fun:get_or_allocate_specifics_ptr
fitzhardinge1c76dc42003-12-15 09:00:21 +0000482 fun:pthread_key_create
njn866db0d2003-05-08 07:53:52 +0000483}
484
gobry3b777892002-04-04 09:18:39 +0000485