blob: b82aee766119351f3af640327d16f3e9bc671e52 [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
njnc40c3a82002-10-02 11:02:27 +00009# skin_name:supp_kind
10# (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#
19# Param Value1 Value2 Value4 Value8
20# Free Addr1 Addr2 Addr4 Addr8
21# 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
sewardj20719f62002-09-27 00:58:10 +000027#-------- SuSE 8.1 stuff (gcc-3.2, glibc-2.2.5 + SuSE's hacks)
28{
29 __stpcpy/*
sewardj34eccb12002-10-05 16:49:09 +000030 Memcheck:Cond
sewardj20719f62002-09-27 00:58:10 +000031 fun:__stpcpy
32 fun:*
33}
34{
35 strlen/decompose_rpath/_dl_map_object
sewardj34eccb12002-10-05 16:49:09 +000036 Memcheck:Cond
sewardj20719f62002-09-27 00:58:10 +000037 fun:strlen
38 fun:decompose_rpath
39 fun:_dl_map_object
40}
41{
42 strlen/_dl_sym/dlsym_doit
sewardj34eccb12002-10-05 16:49:09 +000043 Memcheck:Cond
sewardj20719f62002-09-27 00:58:10 +000044 fun:strlen
45 fun:_dl_sym
46 fun:dlsym_doit
47}
48{
49 trecurse/__gconv_release_shlib(Addr4)
sewardj34eccb12002-10-05 16:49:09 +000050 Memcheck:Addr4
sewardj20719f62002-09-27 00:58:10 +000051 fun:trecurse
52 fun:__gconv_release_shlib
53}
54{
55 do_release_shlib/trecurse(Addr4)
sewardj34eccb12002-10-05 16:49:09 +000056 Memcheck:Addr4
sewardj20719f62002-09-27 00:58:10 +000057 fun:do_release_shlib
58 fun:trecurse
59}
60
sewardj75452642002-07-25 02:21:53 +000061#-------- R H Limbo (glibc-2.2.90) stuff
62{
63 elf_dynamic_do_rela.8/_dl_relocate_object_internal
sewardj34eccb12002-10-05 16:49:09 +000064 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +000065 fun:elf_dynamic_do_rela.8
66 fun:_dl_relocate_object_internal
67}
68
69{
70 __strnlen/_nl_make_l10nflist(Cond)
sewardj34eccb12002-10-05 16:49:09 +000071 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +000072 fun:__strnlen
73 fun:_nl_make_l10nflist
74}
75
76{
77 __strnlen/*vfprintf*
sewardj34eccb12002-10-05 16:49:09 +000078 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +000079 fun:__strnlen
80 fun:*vfprintf*
81}
82
83{
84 libXaw.so.7.0(Cond)
sewardj34eccb12002-10-05 16:49:09 +000085 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +000086 obj:*libXaw.so.7.0
87}
sewardj9bf05a82002-06-06 09:02:11 +000088
sewardj1fe7b002002-07-16 01:43:15 +000089#-------- Suppress errors appearing as a result of calling
90#-------- __libc_freeres()
91
92{
93 __twalk/*(Addr4)
sewardj34eccb12002-10-05 16:49:09 +000094 Memcheck:Addr4
sewardj1fe7b002002-07-16 01:43:15 +000095 fun:__twalk
96}
97
98{
99 do_release_shlib/__twalk(Addr4)
sewardj34eccb12002-10-05 16:49:09 +0000100 Memcheck:Addr4
sewardj1fe7b002002-07-16 01:43:15 +0000101 fun:do_release_shlib
102 fun:__twalk
103}
104
105{
106 __libc_freeres/free_mem/free(Free)
sewardj34eccb12002-10-05 16:49:09 +0000107 Memcheck:Free
sewardj1fe7b002002-07-16 01:43:15 +0000108 fun:free
109 fun:free_mem
110 fun:__libc_freeres
111}
112
njn25e49d8e72002-09-23 09:36:25 +0000113#-------- Data races
114#{
115# _dl_lookup_symbol/fixup/_dl_runtime_resolve
njnc40c3a82002-10-02 11:02:27 +0000116# helgrind:Eraser
njn25e49d8e72002-09-23 09:36:25 +0000117# fun:_dl_lookup_symbol
118# fun:fixup
119# fun:_dl_runtime_resolve
120#}
121#
122#{
123# _dl_lookup_versioned_symbol/fixup/_dl_runtime_resolve
njnc40c3a82002-10-02 11:02:27 +0000124# helgrind:Eraser
njn25e49d8e72002-09-23 09:36:25 +0000125# fun:_dl_lookup_versioned_symbol
126# fun:fixup
127# fun:_dl_runtime_resolve
128#}
sewardj9bf05a82002-06-06 09:02:11 +0000129
njn25e49d8e72002-09-23 09:36:25 +0000130#-------- Threading bugs?
sewardj9bf05a82002-06-06 09:02:11 +0000131{
132 pthread_error/__pthread_mutex_destroy/__closedir
njnc40c3a82002-10-02 11:02:27 +0000133 core:PThread
sewardj9bf05a82002-06-06 09:02:11 +0000134 fun:pthread_error
135 fun:__pthread_mutex_destroy
136 fun:__closedir
137}
138
139{
140 pthread_error/__pthread_mutex_destroy/_IO_default_finish
njnc40c3a82002-10-02 11:02:27 +0000141 core:PThread
sewardj9bf05a82002-06-06 09:02:11 +0000142 fun:pthread_error
143 fun:__pthread_mutex_destroy
sewardj924bc002002-06-07 00:29:39 +0000144 fun:_IO_default_finish*
sewardj9bf05a82002-06-06 09:02:11 +0000145}
146
147{
148 __pthread_mutex_unlock/_IO_funlockfile
njnc40c3a82002-10-02 11:02:27 +0000149 core:PThread
sewardj9bf05a82002-06-06 09:02:11 +0000150 fun:__pthread_mutex_unlock
151 fun:_IO_funlockfile
152}
gobry3b777892002-04-04 09:18:39 +0000153
sewardj4dced352002-06-04 22:54:20 +0000154{
155 __pthread_mutex_unlock/__register_frame_info
njnc40c3a82002-10-02 11:02:27 +0000156 core:PThread
sewardj4dced352002-06-04 22:54:20 +0000157 fun:__pthread_mutex_unlock
158 fun:__register_frame_info
159}
gobry3b777892002-04-04 09:18:39 +0000160
161# even more glibc suppressions ?
162{
163 libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000164 Memcheck:Cond
sewardj45328392002-05-16 20:57:26 +0000165 obj:*libc-2.2.?.so
166 obj:*libc-2.2.?.so
167 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000168}
169{
170 libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value4)
sewardj34eccb12002-10-05 16:49:09 +0000171 Memcheck:Value4
sewardj45328392002-05-16 20:57:26 +0000172 obj:*libc-2.2.?.so
173 obj:*libc-2.2.?.so
174 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000175}
176
177##### glibc 2.2.5 stuff perhaps?
178##### suppressions for coolo
179{
180 strchr/dl_open_worker(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000181 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000182 fun:strchr
183 fun:dl_open_worker
184}
185{
sewardjb55fc4e2002-07-14 13:04:38 +0000186 __rawmemchr(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000187 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000188 fun:__rawmemchr
gobry3b777892002-04-04 09:18:39 +0000189}
190{
191 _IO_vfprintf/__strnlen(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000192 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000193 fun:__strnlen
194 fun:_IO_vfprintf
195}
196{
197 __strchrnul/gethostbyname*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000198 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000199 fun:__strchrnul
200 fun:gethostbyname*
201}
202
203
204##----
205{
206 strlen/*dl_map_object*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000207 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000208 fun:strlen
209 fun:*dl_map_object*
210}
211
212{
213 strlen/*dl_open_worker*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000214 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000215 fun:strlen
216 fun:*dl_open_worker*
217}
218
219{
220 *rawmemchr*/*nss*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000221 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000222 fun:*rawmemchr*
223 fun:*nss*
224}
225
226{
227 *strchrnul*/*nss*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000228 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000229 fun:*strchrnul*
230 fun:*nss*
231}
232
233# gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
234# on Red Hat 7.2 (x86) miscompiles __mpn_construct_double in
235# __mpn_construct_double (../sysdeps/ieee754/dbl-64/mpn2dbl.c:45)
236# (glibc-2.2.4) to read and write below %esp. Hence the following
237# two:
238{
239 __mpn_construct_double/*(Addr4)
sewardj34eccb12002-10-05 16:49:09 +0000240 Memcheck:Addr4
gobry3b777892002-04-04 09:18:39 +0000241 fun:__mpn_construct_double
242 fun:*
243}
244{
245 __mpn_construct_double/*(Addr8)
sewardj34eccb12002-10-05 16:49:09 +0000246 Memcheck:Addr8
gobry3b777892002-04-04 09:18:39 +0000247 fun:__mpn_construct_double
248 fun:*
249}
250
251# More of the same (gcc bug, I'm pretty sure)
252{
253 __fabs/*(Addr4)
sewardj34eccb12002-10-05 16:49:09 +0000254 Memcheck:Addr4
gobry3b777892002-04-04 09:18:39 +0000255 fun:__fabs
256 fun:*
257}
258{
259 __fabs/*(Addr8)
sewardj34eccb12002-10-05 16:49:09 +0000260 Memcheck:Addr8
gobry3b777892002-04-04 09:18:39 +0000261 fun:__fabs
262 fun:*
263}
264
265
266# Not sure what this is about ... but anyway
267{
268 pthread_sighandler/*(Addr4)
sewardj34eccb12002-10-05 16:49:09 +0000269 Memcheck:Addr4
gobry3b777892002-04-04 09:18:39 +0000270 fun:pthread_sighandler
271 fun:*
272}
273
274
275# More glibc stuff, AFAICS
276
277{
278 __strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000279 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000280 fun:__strnlen
281 fun:__argz_stringify
282 fun:_nl_make_l10nflist
283}
284
285#--------------
286{
sewardj924bc002002-06-07 00:29:39 +0000287 _dl_relocate_object*/dl_open_worker/_dl_catch_error*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000288 Memcheck:Cond
sewardj924bc002002-06-07 00:29:39 +0000289 fun:_dl_relocate_object*
gobry3b777892002-04-04 09:18:39 +0000290 fun:dl_open_worker
sewardj924bc002002-06-07 00:29:39 +0000291 fun:_dl_catch_error*
gobry3b777892002-04-04 09:18:39 +0000292}
293{
294 _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000295 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000296 fun:_dl_relocate_object
sewardj45328392002-05-16 20:57:26 +0000297 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000298 fun:_dl_catch_error
299}
300
301{
302 strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000303 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000304 fun:strrchr
305 fun:_dl_map_object_from_fd
306 fun:_dl_map_object
307}
308
309#-------------------
310{
311 socketcall.connect(serv_addr)/__libc_connect/*
sewardj34eccb12002-10-05 16:49:09 +0000312 Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000313 socketcall.connect(serv_addr)
314 fun:__libc_connect
315 fun:*
316}
317{
318 socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so
sewardj34eccb12002-10-05 16:49:09 +0000319 Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000320 socketcall.connect(serv_addr)
sewardj45328392002-05-16 20:57:26 +0000321 obj:*libc-2.2.?.so
322 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000323}
324
325#----------------------
326{
327 write(buf)/__libc_write/libX11.so.6.2/libX11.so.6.2(Param)
sewardj34eccb12002-10-05 16:49:09 +0000328 Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000329 write(buf)
330 fun:__libc_write
331 obj:/usr/X11R6/lib/libX11.so.6.2
332 obj:/usr/X11R6/lib/libX11.so.6.2
333}
334{
335 write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param)
sewardj34eccb12002-10-05 16:49:09 +0000336 Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000337 write(buf)
sewardj45328392002-05-16 20:57:26 +0000338 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000339 obj:/usr/X11R6/lib/libX11.so.6.2
340 obj:/usr/X11R6/lib/libX11.so.6.2
341}
342
343#{
344# llseek(result)/__libc_lseek64/_IO_file_seek(Param)
345# Param
346# llseek(result)
347# fun:__libc_lseek64
348# fun:_IO_file_seek
349#}
350
351{
352 writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2
sewardj34eccb12002-10-05 16:49:09 +0000353 Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000354 writev(vector[...])
355 fun:__writev
356 obj:/usr/X11R6/lib/libX11.so.6.2
357 obj:/usr/X11R6/lib/libX11.so.6.2
358}
359
360#----------------
361{
362 __rawmemchr/libXt.so.6.0/libXt.so.6.0
sewardj34eccb12002-10-05 16:49:09 +0000363 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000364 fun:__rawmemchr
365 obj:/usr/X11R6/lib/libXt.so.6.0
366 obj:/usr/X11R6/lib/libXt.so.6.0
367}
368{
369 libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
sewardj34eccb12002-10-05 16:49:09 +0000370 Memcheck:Cond
sewardj45328392002-05-16 20:57:26 +0000371 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000372 obj:/usr/X11R6/lib/libXt.so.6.0
373 obj:/usr/X11R6/lib/libXt.so.6.0
374}
375
376##----------------------------------------------------------------------##
377