blob: 859ed58ae4726b6d7bd7005999cee6c92d45c246 [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
sewardjc26044b2002-10-20 16:27:43 +000027#-------- For R H 7.3 on i686
28{
29 _dl_relocate_object*/*libc-2.2.?.so/_dl_catch_error*(Cond)
30 Memcheck:Cond
31 fun:_dl_relocate_object*
32 obj:*libc-2.2.?.so
33 fun:_dl_catch_error*
34}
35
36
sewardj20719f62002-09-27 00:58:10 +000037#-------- SuSE 8.1 stuff (gcc-3.2, glibc-2.2.5 + SuSE's hacks)
38{
39 __stpcpy/*
sewardj34eccb12002-10-05 16:49:09 +000040 Memcheck:Cond
sewardj20719f62002-09-27 00:58:10 +000041 fun:__stpcpy
42 fun:*
43}
44{
45 strlen/decompose_rpath/_dl_map_object
sewardj34eccb12002-10-05 16:49:09 +000046 Memcheck:Cond
sewardj20719f62002-09-27 00:58:10 +000047 fun:strlen
48 fun:decompose_rpath
49 fun:_dl_map_object
50}
51{
52 strlen/_dl_sym/dlsym_doit
sewardj34eccb12002-10-05 16:49:09 +000053 Memcheck:Cond
sewardj20719f62002-09-27 00:58:10 +000054 fun:strlen
55 fun:_dl_sym
56 fun:dlsym_doit
57}
58{
59 trecurse/__gconv_release_shlib(Addr4)
njn11cc9252002-10-07 14:42:59 +000060 Addrcheck,Memcheck:Addr4
sewardj20719f62002-09-27 00:58:10 +000061 fun:trecurse
62 fun:__gconv_release_shlib
63}
64{
65 do_release_shlib/trecurse(Addr4)
njn11cc9252002-10-07 14:42:59 +000066 Addrcheck,Memcheck:Addr4
sewardj20719f62002-09-27 00:58:10 +000067 fun:do_release_shlib
68 fun:trecurse
69}
70
sewardj75452642002-07-25 02:21:53 +000071#-------- R H Limbo (glibc-2.2.90) stuff
72{
73 elf_dynamic_do_rela.8/_dl_relocate_object_internal
sewardj34eccb12002-10-05 16:49:09 +000074 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +000075 fun:elf_dynamic_do_rela.8
76 fun:_dl_relocate_object_internal
77}
78
79{
80 __strnlen/_nl_make_l10nflist(Cond)
sewardj34eccb12002-10-05 16:49:09 +000081 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +000082 fun:__strnlen
83 fun:_nl_make_l10nflist
84}
85
86{
87 __strnlen/*vfprintf*
sewardj34eccb12002-10-05 16:49:09 +000088 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +000089 fun:__strnlen
90 fun:*vfprintf*
91}
92
93{
94 libXaw.so.7.0(Cond)
sewardj34eccb12002-10-05 16:49:09 +000095 Memcheck:Cond
sewardj75452642002-07-25 02:21:53 +000096 obj:*libXaw.so.7.0
97}
sewardj9bf05a82002-06-06 09:02:11 +000098
sewardj1fe7b002002-07-16 01:43:15 +000099#-------- Suppress errors appearing as a result of calling
100#-------- __libc_freeres()
101
102{
103 __twalk/*(Addr4)
njn11cc9252002-10-07 14:42:59 +0000104 Addrcheck,Memcheck:Addr4
sewardj1fe7b002002-07-16 01:43:15 +0000105 fun:__twalk
106}
107
108{
109 do_release_shlib/__twalk(Addr4)
njn11cc9252002-10-07 14:42:59 +0000110 Addrcheck,Memcheck:Addr4
sewardj1fe7b002002-07-16 01:43:15 +0000111 fun:do_release_shlib
112 fun:__twalk
113}
114
115{
116 __libc_freeres/free_mem/free(Free)
njn11cc9252002-10-07 14:42:59 +0000117 Addrcheck,Memcheck:Free
sewardj1fe7b002002-07-16 01:43:15 +0000118 fun:free
119 fun:free_mem
120 fun:__libc_freeres
121}
122
njn25e49d8e72002-09-23 09:36:25 +0000123#-------- Data races
124#{
125# _dl_lookup_symbol/fixup/_dl_runtime_resolve
njnc40c3a82002-10-02 11:02:27 +0000126# helgrind:Eraser
njn25e49d8e72002-09-23 09:36:25 +0000127# fun:_dl_lookup_symbol
128# fun:fixup
129# fun:_dl_runtime_resolve
130#}
131#
132#{
133# _dl_lookup_versioned_symbol/fixup/_dl_runtime_resolve
njnc40c3a82002-10-02 11:02:27 +0000134# helgrind:Eraser
njn25e49d8e72002-09-23 09:36:25 +0000135# fun:_dl_lookup_versioned_symbol
136# fun:fixup
137# fun:_dl_runtime_resolve
138#}
sewardj9bf05a82002-06-06 09:02:11 +0000139
njn25e49d8e72002-09-23 09:36:25 +0000140#-------- Threading bugs?
sewardjd8acdf22002-11-13 21:57:52 +0000141# glibc 'knows' that destroying a locked mutex will unlock it
sewardj9bf05a82002-06-06 09:02:11 +0000142{
143 pthread_error/__pthread_mutex_destroy/__closedir
njnc40c3a82002-10-02 11:02:27 +0000144 core:PThread
sewardj9bf05a82002-06-06 09:02:11 +0000145 fun:pthread_error
146 fun:__pthread_mutex_destroy
147 fun:__closedir
148}
149
150{
151 pthread_error/__pthread_mutex_destroy/_IO_default_finish
njnc40c3a82002-10-02 11:02:27 +0000152 core:PThread
sewardj9bf05a82002-06-06 09:02:11 +0000153 fun:pthread_error
154 fun:__pthread_mutex_destroy
sewardj924bc002002-06-07 00:29:39 +0000155 fun:_IO_default_finish*
sewardj9bf05a82002-06-06 09:02:11 +0000156}
157
158{
159 __pthread_mutex_unlock/_IO_funlockfile
njnc40c3a82002-10-02 11:02:27 +0000160 core:PThread
sewardj9bf05a82002-06-06 09:02:11 +0000161 fun:__pthread_mutex_unlock
162 fun:_IO_funlockfile
163}
gobry3b777892002-04-04 09:18:39 +0000164
gobry3b777892002-04-04 09:18:39 +0000165# even more glibc suppressions ?
166{
167 libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000168 Memcheck:Cond
sewardj45328392002-05-16 20:57:26 +0000169 obj:*libc-2.2.?.so
170 obj:*libc-2.2.?.so
171 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000172}
173{
174 libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value4)
sewardj34eccb12002-10-05 16:49:09 +0000175 Memcheck:Value4
sewardj45328392002-05-16 20:57:26 +0000176 obj:*libc-2.2.?.so
177 obj:*libc-2.2.?.so
178 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000179}
180
181##### glibc 2.2.5 stuff perhaps?
182##### suppressions for coolo
183{
184 strchr/dl_open_worker(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000185 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000186 fun:strchr
187 fun:dl_open_worker
188}
189{
sewardjb55fc4e2002-07-14 13:04:38 +0000190 __rawmemchr(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000191 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000192 fun:__rawmemchr
gobry3b777892002-04-04 09:18:39 +0000193}
194{
195 _IO_vfprintf/__strnlen(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000196 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000197 fun:__strnlen
198 fun:_IO_vfprintf
199}
200{
201 __strchrnul/gethostbyname*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000202 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000203 fun:__strchrnul
204 fun:gethostbyname*
205}
206
207
208##----
209{
210 strlen/*dl_map_object*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000211 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000212 fun:strlen
213 fun:*dl_map_object*
214}
215
216{
217 strlen/*dl_open_worker*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000218 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000219 fun:strlen
220 fun:*dl_open_worker*
221}
222
223{
224 *rawmemchr*/*nss*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000225 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000226 fun:*rawmemchr*
227 fun:*nss*
228}
229
230{
231 *strchrnul*/*nss*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000232 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000233 fun:*strchrnul*
234 fun:*nss*
235}
236
237# gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
238# on Red Hat 7.2 (x86) miscompiles __mpn_construct_double in
239# __mpn_construct_double (../sysdeps/ieee754/dbl-64/mpn2dbl.c:45)
240# (glibc-2.2.4) to read and write below %esp. Hence the following
241# two:
242{
243 __mpn_construct_double/*(Addr4)
njn11cc9252002-10-07 14:42:59 +0000244 Addrcheck,Memcheck:Addr4
gobry3b777892002-04-04 09:18:39 +0000245 fun:__mpn_construct_double
246 fun:*
247}
248{
249 __mpn_construct_double/*(Addr8)
njn11cc9252002-10-07 14:42:59 +0000250 Addrcheck,Memcheck:Addr8
gobry3b777892002-04-04 09:18:39 +0000251 fun:__mpn_construct_double
252 fun:*
253}
254
255# More of the same (gcc bug, I'm pretty sure)
256{
257 __fabs/*(Addr4)
njn11cc9252002-10-07 14:42:59 +0000258 Addrcheck,Memcheck:Addr4
gobry3b777892002-04-04 09:18:39 +0000259 fun:__fabs
260 fun:*
261}
262{
263 __fabs/*(Addr8)
njn11cc9252002-10-07 14:42:59 +0000264 Addrcheck,Memcheck:Addr8
gobry3b777892002-04-04 09:18:39 +0000265 fun:__fabs
266 fun:*
267}
268
269
270# Not sure what this is about ... but anyway
271{
272 pthread_sighandler/*(Addr4)
njn11cc9252002-10-07 14:42:59 +0000273 Addrcheck,Memcheck:Addr4
gobry3b777892002-04-04 09:18:39 +0000274 fun:pthread_sighandler
275 fun:*
276}
277
278
279# More glibc stuff, AFAICS
280
281{
282 __strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000283 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000284 fun:__strnlen
285 fun:__argz_stringify
286 fun:_nl_make_l10nflist
287}
288
289#--------------
290{
sewardj924bc002002-06-07 00:29:39 +0000291 _dl_relocate_object*/dl_open_worker/_dl_catch_error*(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000292 Memcheck:Cond
sewardj924bc002002-06-07 00:29:39 +0000293 fun:_dl_relocate_object*
gobry3b777892002-04-04 09:18:39 +0000294 fun:dl_open_worker
sewardj924bc002002-06-07 00:29:39 +0000295 fun:_dl_catch_error*
gobry3b777892002-04-04 09:18:39 +0000296}
297{
298 _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000299 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000300 fun:_dl_relocate_object
sewardj45328392002-05-16 20:57:26 +0000301 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000302 fun:_dl_catch_error
303}
304
305{
306 strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
sewardj34eccb12002-10-05 16:49:09 +0000307 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000308 fun:strrchr
309 fun:_dl_map_object_from_fd
310 fun:_dl_map_object
311}
312
313#-------------------
314{
315 socketcall.connect(serv_addr)/__libc_connect/*
njn11cc9252002-10-07 14:42:59 +0000316 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000317 socketcall.connect(serv_addr)
318 fun:__libc_connect
319 fun:*
320}
321{
322 socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so
njn11cc9252002-10-07 14:42:59 +0000323 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000324 socketcall.connect(serv_addr)
sewardj45328392002-05-16 20:57:26 +0000325 obj:*libc-2.2.?.so
326 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000327}
328
329#----------------------
330{
331 write(buf)/__libc_write/libX11.so.6.2/libX11.so.6.2(Param)
njn11cc9252002-10-07 14:42:59 +0000332 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000333 write(buf)
334 fun:__libc_write
335 obj:/usr/X11R6/lib/libX11.so.6.2
336 obj:/usr/X11R6/lib/libX11.so.6.2
337}
338{
339 write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param)
njn11cc9252002-10-07 14:42:59 +0000340 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000341 write(buf)
sewardj45328392002-05-16 20:57:26 +0000342 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000343 obj:/usr/X11R6/lib/libX11.so.6.2
344 obj:/usr/X11R6/lib/libX11.so.6.2
345}
346
347#{
348# llseek(result)/__libc_lseek64/_IO_file_seek(Param)
349# Param
350# llseek(result)
351# fun:__libc_lseek64
352# fun:_IO_file_seek
353#}
354
355{
356 writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2
njn11cc9252002-10-07 14:42:59 +0000357 Addrcheck,Memcheck:Param
gobry3b777892002-04-04 09:18:39 +0000358 writev(vector[...])
359 fun:__writev
360 obj:/usr/X11R6/lib/libX11.so.6.2
361 obj:/usr/X11R6/lib/libX11.so.6.2
362}
363
364#----------------
365{
366 __rawmemchr/libXt.so.6.0/libXt.so.6.0
sewardj34eccb12002-10-05 16:49:09 +0000367 Memcheck:Cond
gobry3b777892002-04-04 09:18:39 +0000368 fun:__rawmemchr
369 obj:/usr/X11R6/lib/libXt.so.6.0
370 obj:/usr/X11R6/lib/libXt.so.6.0
371}
372{
373 libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
sewardj34eccb12002-10-05 16:49:09 +0000374 Memcheck:Cond
sewardj45328392002-05-16 20:57:26 +0000375 obj:*libc-2.2.?.so
gobry3b777892002-04-04 09:18:39 +0000376 obj:/usr/X11R6/lib/libXt.so.6.0
377 obj:/usr/X11R6/lib/libXt.so.6.0
378}
379
380##----------------------------------------------------------------------##
381