merge rev 1.8.2.2:
[ambi/valgrind.git] / glibc-2.2.supp
1
2 ##----------------------------------------------------------------------##
3
4 # Errors to suppress by default with glibc 2.2.4 / 2.2.5
5
6 # Format of this file is:
7 # {
8 #     name_of_suppression
9 #     skin_name:supp_kind
10 #     (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 #
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)
26
27 #-------- 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
37 #-------- SuSE 8.1 stuff (gcc-3.2, glibc-2.2.5 + SuSE's hacks)
38 {
39    __stpcpy/*
40    Memcheck:Cond
41    fun:__stpcpy
42    fun:*
43 }
44 {
45    strlen/decompose_rpath/_dl_map_object
46    Memcheck:Cond
47    fun:strlen
48    fun:decompose_rpath
49    fun:_dl_map_object
50 }
51 {
52    strlen/_dl_sym/dlsym_doit
53    Memcheck:Cond
54    fun:strlen
55    fun:_dl_sym
56    fun:dlsym_doit
57 }
58 {
59    trecurse/__gconv_release_shlib(Addr4)
60    Addrcheck,Memcheck:Addr4
61    fun:trecurse
62    fun:__gconv_release_shlib
63 }
64 {
65    do_release_shlib/trecurse(Addr4)
66    Addrcheck,Memcheck:Addr4
67    fun:do_release_shlib
68    fun:trecurse
69 }
70
71 #-------- R H Limbo (glibc-2.2.90) stuff
72 {
73    elf_dynamic_do_rela.8/_dl_relocate_object_internal
74    Memcheck:Cond
75    fun:elf_dynamic_do_rela.8
76    fun:_dl_relocate_object_internal
77 }
78
79 {
80    __strnlen/_nl_make_l10nflist(Cond)
81    Memcheck:Cond
82    fun:__strnlen
83    fun:_nl_make_l10nflist
84 }
85
86 {
87    __strnlen/*vfprintf*
88    Memcheck:Cond
89    fun:__strnlen
90    fun:*vfprintf*
91 }
92
93 {
94    libXaw.so.7.0(Cond)
95    Memcheck:Cond
96    obj:*libXaw.so.7.0
97 }
98
99 #-------- Suppress errors appearing as a result of calling
100 #-------- __libc_freeres()
101
102 {
103    __twalk/*(Addr4)
104    Addrcheck,Memcheck:Addr4
105    fun:__twalk
106 }
107
108 {
109    do_release_shlib/__twalk(Addr4)
110    Addrcheck,Memcheck:Addr4
111    fun:do_release_shlib
112    fun:__twalk
113 }
114
115 {
116    __libc_freeres/free_mem/free(Free)
117    Addrcheck,Memcheck:Free
118    fun:free
119    fun:free_mem
120    fun:__libc_freeres
121 }
122
123 #-------- Data races
124 #{
125 #   _dl_lookup_symbol/fixup/_dl_runtime_resolve
126 #   helgrind:Eraser
127 #   fun:_dl_lookup_symbol
128 #   fun:fixup
129 #   fun:_dl_runtime_resolve
130 #}
131 #
132 #{
133 #   _dl_lookup_versioned_symbol/fixup/_dl_runtime_resolve
134 #   helgrind:Eraser
135 #   fun:_dl_lookup_versioned_symbol
136 #   fun:fixup
137 #   fun:_dl_runtime_resolve
138 #}
139
140 #-------- Threading bugs?
141 {
142    pthread_error/__pthread_mutex_destroy/__closedir
143    core:PThread
144    fun:pthread_error
145    fun:__pthread_mutex_destroy
146    fun:__closedir
147 }
148
149 {
150    pthread_error/__pthread_mutex_destroy/_IO_default_finish
151    core:PThread
152    fun:pthread_error
153    fun:__pthread_mutex_destroy
154    fun:_IO_default_finish*
155 }
156
157 {
158    __pthread_mutex_unlock/_IO_funlockfile
159    core:PThread
160    fun:__pthread_mutex_unlock
161    fun:_IO_funlockfile
162 }
163
164 {
165    __pthread_mutex_unlock/__register_frame_info
166    core:PThread
167    fun:__pthread_mutex_unlock
168    fun:__register_frame_info
169 }
170
171 # even more glibc suppressions ?
172 {
173    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond)
174    Memcheck:Cond
175    obj:*libc-2.2.?.so
176    obj:*libc-2.2.?.so
177    obj:*libc-2.2.?.so
178 }
179 {
180    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value4)
181    Memcheck:Value4
182    obj:*libc-2.2.?.so
183    obj:*libc-2.2.?.so
184    obj:*libc-2.2.?.so
185 }
186
187 ##### glibc 2.2.5 stuff perhaps?
188 ##### suppressions for coolo
189 {
190    strchr/dl_open_worker(Cond)
191    Memcheck:Cond
192    fun:strchr
193    fun:dl_open_worker
194 }
195
196    __rawmemchr(Cond)
197    Memcheck:Cond 
198    fun:__rawmemchr
199
200
201    _IO_vfprintf/__strnlen(Cond)
202    Memcheck:Cond 
203    fun:__strnlen
204    fun:_IO_vfprintf
205
206
207    __strchrnul/gethostbyname*(Cond)
208    Memcheck:Cond 
209    fun:__strchrnul
210    fun:gethostbyname*
211
212
213
214 ##----
215 {
216    strlen/*dl_map_object*(Cond)
217    Memcheck:Cond
218    fun:strlen
219    fun:*dl_map_object*
220 }
221
222 {
223    strlen/*dl_open_worker*(Cond)
224    Memcheck:Cond
225    fun:strlen
226    fun:*dl_open_worker*
227 }
228
229 {
230    *rawmemchr*/*nss*(Cond)
231    Memcheck:Cond
232    fun:*rawmemchr*
233    fun:*nss*
234 }
235
236 {
237    *strchrnul*/*nss*(Cond)
238    Memcheck:Cond
239    fun:*strchrnul*
240    fun:*nss*
241 }
242
243 # gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
244 # on Red Hat 7.2 (x86) miscompiles __mpn_construct_double in
245 # __mpn_construct_double (../sysdeps/ieee754/dbl-64/mpn2dbl.c:45)
246 # (glibc-2.2.4) to read and write below %esp.  Hence the following
247 # two:
248 {
249    __mpn_construct_double/*(Addr4)
250    Addrcheck,Memcheck:Addr4
251    fun:__mpn_construct_double
252    fun:*
253 }
254 {
255    __mpn_construct_double/*(Addr8)
256    Addrcheck,Memcheck:Addr8
257    fun:__mpn_construct_double
258    fun:*
259 }
260
261 # More of the same (gcc bug, I'm pretty sure)
262 {
263    __fabs/*(Addr4)
264    Addrcheck,Memcheck:Addr4
265    fun:__fabs
266    fun:*
267 }
268 {
269    __fabs/*(Addr8)
270    Addrcheck,Memcheck:Addr8
271    fun:__fabs
272    fun:*
273 }
274
275
276 # Not sure what this is about ... but anyway
277 {
278    pthread_sighandler/*(Addr4)
279    Addrcheck,Memcheck:Addr4
280    fun:pthread_sighandler
281    fun:*
282 }
283
284
285 # More glibc stuff, AFAICS
286
287 {
288    __strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
289    Memcheck:Cond
290    fun:__strnlen
291    fun:__argz_stringify
292    fun:_nl_make_l10nflist
293 }
294
295 #--------------
296 {
297    _dl_relocate_object*/dl_open_worker/_dl_catch_error*(Cond)
298    Memcheck:Cond
299    fun:_dl_relocate_object*
300    fun:dl_open_worker
301    fun:_dl_catch_error*
302 }
303 {
304    _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
305    Memcheck:Cond
306    fun:_dl_relocate_object
307    obj:*libc-2.2.?.so
308    fun:_dl_catch_error
309 }
310
311 {
312    strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
313    Memcheck:Cond
314    fun:strrchr
315    fun:_dl_map_object_from_fd
316    fun:_dl_map_object
317 }
318
319 #-------------------
320 {
321    socketcall.connect(serv_addr)/__libc_connect/*
322    Addrcheck,Memcheck:Param
323    socketcall.connect(serv_addr)
324    fun:__libc_connect
325    fun:*
326 }
327 {
328    socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so
329    Addrcheck,Memcheck:Param
330    socketcall.connect(serv_addr)
331    obj:*libc-2.2.?.so
332    obj:*libc-2.2.?.so
333 }
334
335 #----------------------
336 {
337    write(buf)/__libc_write/libX11.so.6.2/libX11.so.6.2(Param)
338    Addrcheck,Memcheck:Param
339    write(buf)
340    fun:__libc_write
341    obj:/usr/X11R6/lib/libX11.so.6.2
342    obj:/usr/X11R6/lib/libX11.so.6.2
343 }
344 {
345    write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param)
346    Addrcheck,Memcheck:Param
347    write(buf)
348    obj:*libc-2.2.?.so
349    obj:/usr/X11R6/lib/libX11.so.6.2
350    obj:/usr/X11R6/lib/libX11.so.6.2
351 }
352
353 #{
354 #   llseek(result)/__libc_lseek64/_IO_file_seek(Param)
355 #   Param
356 #   llseek(result)
357 #   fun:__libc_lseek64
358 #   fun:_IO_file_seek
359 #}
360
361 {
362    writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2
363    Addrcheck,Memcheck:Param
364    writev(vector[...])
365    fun:__writev
366    obj:/usr/X11R6/lib/libX11.so.6.2
367    obj:/usr/X11R6/lib/libX11.so.6.2
368 }
369
370 #----------------
371 {
372    __rawmemchr/libXt.so.6.0/libXt.so.6.0
373    Memcheck:Cond
374    fun:__rawmemchr
375    obj:/usr/X11R6/lib/libXt.so.6.0
376    obj:/usr/X11R6/lib/libXt.so.6.0
377 }
378 {
379    libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
380    Memcheck:Cond
381    obj:*libc-2.2.?.so
382    obj:/usr/X11R6/lib/libXt.so.6.0
383    obj:/usr/X11R6/lib/libXt.so.6.0
384 }
385
386 ##----------------------------------------------------------------------##
387