blob: 9d03360019cefed22288d5dcc37edc8f6d2de627 [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}
sewardjb5f6f512005-03-10 23:59:00 +000068{
69 _dl_relocate_object_internal
70 Memcheck:Cond
71 fun:_dl_relocate_object_internal
72}
sewardjc26044b2002-10-20 16:27:43 +000073
sewardj20719f62002-09-27 00:58:10 +000074#-------- SuSE 8.1 stuff (gcc-3.2, glibc-2.2.5 + SuSE's hacks)
75{
76 __stpcpy/*
sewardj34eccb12002-10-05 16:49:09 +000077 Memcheck:Cond
sewardj20719f62002-09-27 00:58:10 +000078 fun:__stpcpy
79 fun:*
80}
81{
82 strlen/decompose_rpath/_dl_map_object
sewardj34eccb12002-10-05 16:49:09 +000083 Memcheck:Cond
sewardj20719f62002-09-27 00:58:10 +000084 fun:strlen
85 fun:decompose_rpath
86 fun:_dl_map_object
87}
88{
89 strlen/_dl_sym/dlsym_doit
sewardj34eccb12002-10-05 16:49:09 +000090 Memcheck:Cond
sewardj20719f62002-09-27 00:58:10 +000091 fun:strlen
92 fun:_dl_sym
93 fun:dlsym_doit
94}
95{
96 trecurse/__gconv_release_shlib(Addr4)
njn11cc9252002-10-07 14:42:59 +000097 Addrcheck,Memcheck:Addr4
sewardj20719f62002-09-27 00:58:10 +000098 fun:trecurse
99 fun:__gconv_release_shlib
100}
101{
102 do_release_shlib/trecurse(Addr4)
njn11cc9252002-10-07 14:42:59 +0000103 Addrcheck,Memcheck:Addr4
sewardj20719f62002-09-27 00:58:10 +0000104 fun:do_release_shlib
105 fun:trecurse
106}
107
sewardj75452642002-07-25 02:21:53 +0000108#-------- R H Limbo (glibc-2.2.90) stuff
109{
110 elf_dynamic_do_rela.8/_dl_relocate_object_internal
sewardj34eccb12002-10-05 16:49:09 +0000111 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +0000112 fun:elf_dynamic_do_rela.8
113 fun:_dl_relocate_object_internal
114}
115
116{
117 __strnlen/_nl_make_l10nflist(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000118 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +0000119 fun:__strnlen
120 fun:_nl_make_l10nflist
121}
122
123{
124 __strnlen/*vfprintf*
sewardj34eccb12002-10-05 16:49:09 +0000125 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +0000126 fun:__strnlen
127 fun:*vfprintf*
128}
129
130{
131 libXaw.so.7.0(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000132 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +0000133 obj:*libXaw.so.7.0
134}
sewardj9bf05a82002-06-06 09:02:11 +0000135
sewardj1fe7b002002-07-16 01:43:15 +0000136#-------- Suppress errors appearing as a result of calling
137#-------- __libc_freeres()
138
139{
140 __twalk/*(Addr4)
njn11cc9252002-10-07 14:42:59 +0000141 Addrcheck,Memcheck:Addr4
sewardj1fe7b002002-07-16 01:43:15 +0000142 fun:__twalk
143}
144
145{
146 do_release_shlib/__twalk(Addr4)
njn11cc9252002-10-07 14:42:59 +0000147 Addrcheck,Memcheck:Addr4
sewardj1fe7b002002-07-16 01:43:15 +0000148 fun:do_release_shlib
149 fun:__twalk
150}
151
152{
153 __libc_freeres/free_mem/free(Free)
njn11cc9252002-10-07 14:42:59 +0000154 Addrcheck,Memcheck:Free
sewardj1fe7b002002-07-16 01:43:15 +0000155 fun:free
156 fun:free_mem
157 fun:__libc_freeres
158}
159
njn25e49d8e72002-09-23 09:36:25 +0000160#-------- Data races
mueller1c2d0652004-02-28 21:21:46 +0000161{
162 _dl_lookup_symbol/fixup/_dl_runtime_resolve
163 Helgrind:Eraser
164 fun:_dl_lookup_symbol
165 fun:fixup
166 fun:_dl_runtime_resolve
167}
168
169{
thughes53459ef2004-10-31 10:13:18 +0000170 _dl_lookup_symbol_internal/fixup/_dl_runtime_resolve
171 Helgrind:Eraser
172 fun:_dl_lookup_symbol_internal
173 fun:fixup
174 fun:_dl_runtime_resolve
175}
176
177{
mueller1c2d0652004-02-28 21:21:46 +0000178 _dl_lookup_versioned_symbol/fixup/_dl_runtime_resolve
179 Helgrind:Eraser
180 fun:_dl_lookup_versioned_symbol
181 fun:fixup
182 fun:_dl_runtime_resolve
183}
184
185{
thughesf3feaaf2004-02-29 13:00:51 +0000186 _dl_lookup_versioned_symbol_internal/fixup/_dl_runtime_resolve
187 Helgrind:Eraser
188 fun:_dl_lookup_versioned_symbol_internal
189 fun:fixup
190 fun:_dl_runtime_resolve
191}
192
193{
mueller1c2d0652004-02-28 21:21:46 +0000194 _dl_fini/exit/__libc_start_main
195 Helgrind:Eraser
196 fun:_dl_fini
197 fun:exit
198 fun:__libc_start_main
199}
sewardj9bf05a82002-06-06 09:02:11 +0000200
thughes361cda72004-10-30 20:39:10 +0000201{
202 _dl_map_object_deps/dl_open_worker/_dl_catch_error/_dl_open
203 Helgrind:Eraser
204 fun:_dl_map_object_deps
205 fun:dl_open_worker
206 fun:_dl_catch_error
207 fun:_dl_open
208}
209
thughes53459ef2004-10-31 10:13:18 +0000210{
211 _dl_map_object_deps_internal/dl_open_worker/_dl_catch_error_internal/_dl_open
212 Helgrind:Eraser
213 fun:_dl_map_object_deps_internal
214 fun:dl_open_worker
215 fun:_dl_catch_error_internal
216 fun:_dl_open
217}
218
njn25e49d8e72002-09-23 09:36:25 +0000219#-------- Threading bugs?
sewardjd8acdf22002-11-13 21:57:52 +0000220# glibc 'knows' that destroying a locked mutex will unlock it
sewardj9bf05a82002-06-06 09:02:11 +0000221{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000222 pthread_error/pthread_mutex_destroy/__closedir
njnc40c3a82002-10-02 11:02:27 +0000223 core:PThread
sewardj9bf05a82002-06-06 09:02:11 +0000224 fun:pthread_error
fitzhardinge1c76dc42003-12-15 09:00:21 +0000225 fun:pthread_mutex_destroy
sewardj9bf05a82002-06-06 09:02:11 +0000226 fun:__closedir
227}
228
229{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000230 pthread_error/pthread_mutex_destroy/_IO_default_finish
njnc40c3a82002-10-02 11:02:27 +0000231 core:PThread
sewardj9bf05a82002-06-06 09:02:11 +0000232 fun:pthread_error
fitzhardinge1c76dc42003-12-15 09:00:21 +0000233 fun:pthread_mutex_destroy
sewardj924bc002002-06-07 00:29:39 +0000234 fun:_IO_default_finish*
sewardj9bf05a82002-06-06 09:02:11 +0000235}
236
237{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000238 pthread_mutex_unlock/_IO_funlockfile
njnc40c3a82002-10-02 11:02:27 +0000239 core:PThread
fitzhardinge1c76dc42003-12-15 09:00:21 +0000240 fun:pthread_mutex_unlock
sewardj9bf05a82002-06-06 09:02:11 +0000241 fun:_IO_funlockfile
242}
gobry3b777892002-04-04 09:18:39 +0000243
gobry3b777892002-04-04 09:18:39 +0000244# even more glibc suppressions ?
245{
246 libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000247 Memcheck:Cond
sewardj45328392002-05-16 20:57:26 +0000248 obj:*libc-2.2.?.so
249 obj:*libc-2.2.?.so
250 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000251}
252{
253 libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value4)
sewardj34eccb12002-10-05 16:49:09 +0000254 Memcheck:Value4
sewardj45328392002-05-16 20:57:26 +0000255 obj:*libc-2.2.?.so
256 obj:*libc-2.2.?.so
257 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000258}
259
260##### glibc 2.2.5 stuff perhaps?
261##### suppressions for coolo
262{
263 strchr/dl_open_worker(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000264 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000265 fun:strchr
266 fun:dl_open_worker
267}
268{
sewardjb55fc4e2002-07-14 13:04:38 +0000269 __rawmemchr(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000270 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000271 fun:__rawmemchr
gobry3b777892002-04-04 09:18:39 +0000272}
273{
274 _IO_vfprintf/__strnlen(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000275 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000276 fun:__strnlen
277 fun:_IO_vfprintf
278}
279{
280 __strchrnul/gethostbyname*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000281 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000282 fun:__strchrnul
283 fun:gethostbyname*
284}
285
286
287##----
288{
289 strlen/*dl_map_object*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000290 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000291 fun:strlen
292 fun:*dl_map_object*
293}
294
295{
296 strlen/*dl_open_worker*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000297 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000298 fun:strlen
299 fun:*dl_open_worker*
300}
301
302{
303 *rawmemchr*/*nss*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000304 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000305 fun:*rawmemchr*
306 fun:*nss*
307}
308
309{
310 *strchrnul*/*nss*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000311 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000312 fun:*strchrnul*
313 fun:*nss*
314}
315
316# gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
317# on Red Hat 7.2 (x86) miscompiles __mpn_construct_double in
318# __mpn_construct_double (../sysdeps/ieee754/dbl-64/mpn2dbl.c:45)
319# (glibc-2.2.4) to read and write below %esp. Hence the following
320# two:
321{
322 __mpn_construct_double/*(Addr4)
njn11cc9252002-10-07 14:42:59 +0000323 Addrcheck,Memcheck:Addr4
gobry3b777892002-04-04 09:18:39 +0000324 fun:__mpn_construct_double
325 fun:*
326}
327{
328 __mpn_construct_double/*(Addr8)
njn11cc9252002-10-07 14:42:59 +0000329 Addrcheck,Memcheck:Addr8
gobry3b777892002-04-04 09:18:39 +0000330 fun:__mpn_construct_double
331 fun:*
332}
333
334# More of the same (gcc bug, I'm pretty sure)
335{
336 __fabs/*(Addr4)
njn11cc9252002-10-07 14:42:59 +0000337 Addrcheck,Memcheck:Addr4
gobry3b777892002-04-04 09:18:39 +0000338 fun:__fabs
339 fun:*
340}
341{
342 __fabs/*(Addr8)
njn11cc9252002-10-07 14:42:59 +0000343 Addrcheck,Memcheck:Addr8
gobry3b777892002-04-04 09:18:39 +0000344 fun:__fabs
345 fun:*
346}
347
348
349# Not sure what this is about ... but anyway
350{
351 pthread_sighandler/*(Addr4)
njn11cc9252002-10-07 14:42:59 +0000352 Addrcheck,Memcheck:Addr4
gobry3b777892002-04-04 09:18:39 +0000353 fun:pthread_sighandler
354 fun:*
355}
356
357
358# More glibc stuff, AFAICS
359
360{
361 __strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000362 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000363 fun:__strnlen
364 fun:__argz_stringify
365 fun:_nl_make_l10nflist
366}
367
368#--------------
369{
sewardj924bc002002-06-07 00:29:39 +0000370 _dl_relocate_object*/dl_open_worker/_dl_catch_error*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000371 Memcheck:Cond
sewardj924bc002002-06-07 00:29:39 +0000372 fun:_dl_relocate_object*
gobry3b777892002-04-04 09:18:39 +0000373 fun:dl_open_worker
sewardj924bc002002-06-07 00:29:39 +0000374 fun:_dl_catch_error*
gobry3b777892002-04-04 09:18:39 +0000375}
376{
377 _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000378 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000379 fun:_dl_relocate_object
sewardj45328392002-05-16 20:57:26 +0000380 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000381 fun:_dl_catch_error
382}
mueller1c2d0652004-02-28 21:21:46 +0000383{
thughesac0692a2004-07-17 14:16:03 +0000384 _dl_relocate_object/dl_main(Cond)
mueller1c2d0652004-02-28 21:21:46 +0000385 Memcheck:Cond
386 fun:_dl_relocate_object
387 fun:dl_main
mueller1c2d0652004-02-28 21:21:46 +0000388}
thughesf3feaaf2004-02-29 13:00:51 +0000389{
thughesac0692a2004-07-17 14:16:03 +0000390 _dl_relocate_object_internal/dl_main(Cond)
thughesf3feaaf2004-02-29 13:00:51 +0000391 Memcheck:Cond
392 fun:_dl_relocate_object_internal
393 fun:dl_main
thughesf3feaaf2004-02-29 13:00:51 +0000394}
gobry3b777892002-04-04 09:18:39 +0000395
396{
397 strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000398 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000399 fun:strrchr
400 fun:_dl_map_object_from_fd
401 fun:_dl_map_object
402}
403
mueller1c2d0652004-02-28 21:21:46 +0000404{
sewardjb5f6f512005-03-10 23:59:00 +0000405 _dl_start/ld-2.2.4.so(Cond)
mueller1c2d0652004-02-28 21:21:46 +0000406 Memcheck:Cond
407 fun:_dl_start
408 obj:/lib/ld-2.2.4.so
409}
410
sewardjb5f6f512005-03-10 23:59:00 +0000411#-------- glibc 2.2.5/ Debian 3.0
412{
413 _dl_start/ld-2.2.5.so(Cond)
414 Memcheck:Cond
415 fun:_dl_start
416 obj:/lib/ld-2.2.5.so
417}
418
gobry3b777892002-04-04 09:18:39 +0000419#-------------------
420{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000421 socketcall.connect(serv_addr)/connect/*
njn11cc9252002-10-07 14:42:59 +0000422 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000423 socketcall.connect(serv_addr)
fitzhardinge1c76dc42003-12-15 09:00:21 +0000424 fun:connect
gobry3b777892002-04-04 09:18:39 +0000425 fun:*
426}
427{
428 socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so
njn11cc9252002-10-07 14:42:59 +0000429 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000430 socketcall.connect(serv_addr)
sewardj45328392002-05-16 20:57:26 +0000431 obj:*libc-2.2.?.so
432 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000433}
434
435#----------------------
436{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000437 write(buf)/write/libX11.so.6.2/libX11.so.6.2(Param)
njn11cc9252002-10-07 14:42:59 +0000438 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000439 write(buf)
fitzhardinge1c76dc42003-12-15 09:00:21 +0000440 fun:write
gobry3b777892002-04-04 09:18:39 +0000441 obj:/usr/X11R6/lib/libX11.so.6.2
442 obj:/usr/X11R6/lib/libX11.so.6.2
443}
444{
445 write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param)
njn11cc9252002-10-07 14:42:59 +0000446 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000447 write(buf)
sewardj45328392002-05-16 20:57:26 +0000448 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000449 obj:/usr/X11R6/lib/libX11.so.6.2
450 obj:/usr/X11R6/lib/libX11.so.6.2
451}
452
453#{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000454# llseek(result)/lseek64/_IO_file_seek(Param)
gobry3b777892002-04-04 09:18:39 +0000455# Param
456# llseek(result)
fitzhardinge1c76dc42003-12-15 09:00:21 +0000457# fun:lseek64
gobry3b777892002-04-04 09:18:39 +0000458# fun:_IO_file_seek
459#}
460
461{
462 writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2
njn11cc9252002-10-07 14:42:59 +0000463 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000464 writev(vector[...])
465 fun:__writev
466 obj:/usr/X11R6/lib/libX11.so.6.2
467 obj:/usr/X11R6/lib/libX11.so.6.2
468}
469
470#----------------
471{
472 __rawmemchr/libXt.so.6.0/libXt.so.6.0
sewardj34eccb12002-10-05 16:49:09 +0000473 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000474 fun:__rawmemchr
475 obj:/usr/X11R6/lib/libXt.so.6.0
476 obj:/usr/X11R6/lib/libXt.so.6.0
477}
478{
479 libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
sewardj34eccb12002-10-05 16:49:09 +0000480 Memcheck:Cond
sewardj45328392002-05-16 20:57:26 +0000481 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000482 obj:/usr/X11R6/lib/libXt.so.6.0
483 obj:/usr/X11R6/lib/libXt.so.6.0
484}
485
sewardjb5f6f512005-03-10 23:59:00 +0000486# LinuxThreads suppressesion
njn866db0d2003-05-08 07:53:52 +0000487{
sewardjb5f6f512005-03-10 23:59:00 +0000488 LinuxThreads: write/pthread_create
489 Memcheck:Param
490 write(buf)
491 fun:pthread_create@@GLIBC_2.1
njn866db0d2003-05-08 07:53:52 +0000492}
sewardjb5f6f512005-03-10 23:59:00 +0000493{
494 LinuxThreads: write/pthread_create
495 Memcheck:Param
496 write(buf)
497 fun:write
498 fun:pthread_create@@GLIBC_2.1
499}