Unbreak testcase.
[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 #     tool_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 Value16 Jump
20 #     Free Addr1 Addr2 Addr4 Addr8 Addr16
21 #     Cond (previously known as Value0)
22 #
23 # and the optional extra info is:
24 #     if Param: name of system call param
25
26 #-------- For SuSE 8.2 (gcc 3.3, glibc 2.3.2)
27 {
28    __GI___stpcpy/*
29    Memcheck:Cond
30    fun:__GI___stpcpy
31    fun:*
32 }
33 {
34    strlen/__GI__dl_open/dlopen_doit
35    Memcheck:Cond
36    fun:strlen
37    fun:__GI__dl_open
38    fun:dlopen_doit
39 }
40 {
41    strlen/_dl_signal_cerror/_dl_lookup_symbol_internal/do_dlsym
42    Memcheck:Cond
43    fun:_dl_signal_cerror
44    fun:_dl_lookup_symbol_internal
45    fun:do_dlsym
46 }
47
48
49 #-------- For R H 8.0
50 {
51    elf_dynamic_do_rel.7/_dl_relocate_object_internal/dl_open_worker(Cond)
52    Memcheck:Cond
53    fun:elf_dynamic_do_rel.7
54    fun:_dl_relocate_object_internal
55    fun:dl_open_worker
56 }
57
58
59 #-------- For R H 7.3 on i686
60 {
61    _dl_relocate_object*/*libc-2.2.?.so/_dl_catch_error*(Cond)
62    Memcheck:Cond
63    fun:_dl_relocate_object*
64    obj:*libc-2.2.?.so
65    fun:_dl_catch_error*
66 }
67 {
68    _dl_relocate_object_internal
69    Memcheck:Cond
70    fun:_dl_relocate_object_internal
71 }
72 {
73    index/*-2.2.5.so/*-2.2.5.so
74    Memcheck:Cond
75    fun:index
76    obj:*-2.2.5.so
77    obj:*-2.2.5.so
78 }
79 {
80    Red Hat 7.3 #4
81    Memcheck:Cond
82    fun:strlen
83    fun:dl_main
84    fun:_dl_sysdep_start
85 }
86
87 #-------- SuSE 8.1 stuff (gcc-3.2, glibc-2.2.5 + SuSE's hacks)
88 {
89    __stpcpy/*
90    Memcheck:Cond
91    fun:__stpcpy
92    fun:*
93 }
94 {
95    strlen/decompose_rpath/_dl_map_object
96    Memcheck:Cond
97    fun:strlen
98    fun:decompose_rpath
99    fun:_dl_map_object
100 }
101 {
102    strlen/_dl_sym/dlsym_doit
103    Memcheck:Cond
104    fun:strlen
105    fun:_dl_sym
106    fun:dlsym_doit
107 }
108 {
109    trecurse/__gconv_release_shlib(Addr4)
110    Memcheck:Addr4
111    fun:trecurse
112    fun:__gconv_release_shlib
113 }
114 {
115    do_release_shlib/trecurse(Addr4)
116    Memcheck:Addr4
117    fun:do_release_shlib
118    fun:trecurse
119 }
120
121 #-------- R H Limbo (glibc-2.2.90) stuff
122 {
123    elf_dynamic_do_rela.8/_dl_relocate_object_internal
124    Memcheck:Cond
125    fun:elf_dynamic_do_rela.8
126    fun:_dl_relocate_object_internal
127 }
128
129 {
130    __strnlen/_nl_make_l10nflist(Cond)
131    Memcheck:Cond
132    fun:__strnlen
133    fun:_nl_make_l10nflist
134 }
135
136 {
137    __strnlen/*vfprintf*
138    Memcheck:Cond
139    fun:__strnlen
140    fun:*vfprintf*
141 }
142
143 {
144    libXaw.so.7.0(Cond)
145    Memcheck:Cond
146    obj:*libXaw.so.7.0
147 }
148
149 #-------- Suppress errors appearing as a result of calling
150 #-------- __libc_freeres()
151
152 {
153    __twalk/*(Addr4)
154    Memcheck:Addr4
155    fun:__twalk
156 }
157
158 {
159    do_release_shlib/__twalk(Addr4)
160    Memcheck:Addr4
161    fun:do_release_shlib
162    fun:__twalk
163 }
164
165 {
166    __libc_freeres/free_mem/free(Free)
167    Memcheck:Free
168    fun:free
169    fun:free_mem
170    fun:__libc_freeres
171 }
172
173 # even more glibc suppressions ?
174 {
175    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond)
176    Memcheck:Cond
177    obj:*libc-2.2.?.so
178    obj:*libc-2.2.?.so
179    obj:*libc-2.2.?.so
180 }
181 {
182    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value4)
183    Memcheck:Value4
184    obj:*libc-2.2.?.so
185    obj:*libc-2.2.?.so
186    obj:*libc-2.2.?.so
187 }
188
189 ##### glibc 2.2.5 stuff perhaps?
190 ##### suppressions for coolo
191 {
192    strchr/dl_open_worker(Cond)
193    Memcheck:Cond
194    fun:strchr
195    fun:dl_open_worker
196 }
197
198    __rawmemchr(Cond)
199    Memcheck:Cond 
200    fun:__rawmemchr
201
202
203    _IO_vfprintf/__strnlen(Cond)
204    Memcheck:Cond 
205    fun:__strnlen
206    fun:_IO_vfprintf
207
208
209    __strchrnul/gethostbyname*(Cond)
210    Memcheck:Cond 
211    fun:__strchrnul
212    fun:gethostbyname*
213
214
215
216 ##----
217 {
218    strlen/*dl_map_object*(Cond)
219    Memcheck:Cond
220    fun:strlen
221    fun:*dl_map_object*
222 }
223
224 {
225    strlen/*dl_open_worker*(Cond)
226    Memcheck:Cond
227    fun:strlen
228    fun:*dl_open_worker*
229 }
230
231 {
232    *rawmemchr*/*nss*(Cond)
233    Memcheck:Cond
234    fun:*rawmemchr*
235    fun:*nss*
236 }
237
238 {
239    *strchrnul*/*nss*(Cond)
240    Memcheck:Cond
241    fun:*strchrnul*
242    fun:*nss*
243 }
244
245 # gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
246 # on Red Hat 7.2 (x86) miscompiles __mpn_construct_double in
247 # __mpn_construct_double (../sysdeps/ieee754/dbl-64/mpn2dbl.c:45)
248 # (glibc-2.2.4) to read and write below %esp.  Hence the following
249 # two:
250 {
251    __mpn_construct_double/*(Addr4)
252    Memcheck:Addr4
253    fun:__mpn_construct_double
254    fun:*
255 }
256 {
257    __mpn_construct_double/*(Addr8)
258    Memcheck:Addr8
259    fun:__mpn_construct_double
260    fun:*
261 }
262
263 # More of the same (gcc bug, I'm pretty sure)
264 {
265    __fabs/*(Addr4)
266    Memcheck:Addr4
267    fun:__fabs
268    fun:*
269 }
270 {
271    __fabs/*(Addr8)
272    Memcheck:Addr8
273    fun:__fabs
274    fun:*
275 }
276
277
278 # Not sure what this is about ... but anyway
279 {
280    pthread_sighandler/*(Addr4)
281    Memcheck:Addr4
282    fun:pthread_sighandler
283    fun:*
284 }
285
286
287 # More glibc stuff, AFAICS
288
289 {
290    __strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
291    Memcheck:Cond
292    fun:__strnlen
293    fun:__argz_stringify
294    fun:_nl_make_l10nflist
295 }
296
297 #--------------
298 {
299    _dl_relocate_object*/dl_open_worker/_dl_catch_error*(Cond)
300    Memcheck:Cond
301    fun:_dl_relocate_object*
302    fun:dl_open_worker
303    fun:_dl_catch_error*
304 }
305 {
306    _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
307    Memcheck:Cond
308    fun:_dl_relocate_object
309    obj:*libc-2.2.?.so
310    fun:_dl_catch_error
311 }
312 {
313    _dl_relocate_object/dl_main(Cond)
314    Memcheck:Cond
315    fun:_dl_relocate_object
316    fun:dl_main
317 }
318 {
319    _dl_relocate_object_internal/dl_main(Cond)
320    Memcheck:Cond
321    fun:_dl_relocate_object_internal
322    fun:dl_main
323 }
324
325 {
326    strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
327    Memcheck:Cond
328    fun:strrchr
329    fun:_dl_map_object_from_fd
330    fun:_dl_map_object
331 }
332
333 {
334    _dl_start/ld-2.2.4.so(Cond)
335    Memcheck:Cond
336    fun:_dl_start
337    obj:/lib/ld-2.2.4.so
338 }
339
340 #-------- glibc 2.2.5/ Debian 3.0
341 {
342    _dl_start(Cond)
343    Memcheck:Cond
344    fun:_dl_start
345 }
346
347 {
348    _dl_start(Cond)
349    Memcheck:Cond
350    fun:_dl_relocate_object
351 }
352
353 #-------------------
354 {
355    socketcall.connect(serv_addr)/connect/*
356    Memcheck:Param
357    socketcall.connect(serv_addr)
358    fun:connect
359    fun:*
360 }
361 {
362    socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so
363    Memcheck:Param
364    socketcall.connect(serv_addr)
365    obj:*libc-2.2.?.so
366    obj:*libc-2.2.?.so
367 }
368
369 #----------------------
370 {
371    write(buf)/write/libX11.so.6.2/libX11.so.6.2(Param)
372    Memcheck:Param
373    write(buf)
374    fun:write
375    obj:/usr/X11R6/lib/libX11.so.6.2
376    obj:/usr/X11R6/lib/libX11.so.6.2
377 }
378 {
379    write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param)
380    Memcheck:Param
381    write(buf)
382    obj:*libc-2.2.?.so
383    obj:/usr/X11R6/lib/libX11.so.6.2
384    obj:/usr/X11R6/lib/libX11.so.6.2
385 }
386
387 #{
388 #   llseek(result)/lseek64/_IO_file_seek(Param)
389 #   Param
390 #   llseek(result)
391 #   fun:lseek64
392 #   fun:_IO_file_seek
393 #}
394
395 {
396    writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2
397    Memcheck:Param
398    writev(vector[...])
399    fun:__writev
400    obj:/usr/X11R6/lib/libX11.so.6.2
401    obj:/usr/X11R6/lib/libX11.so.6.2
402 }
403
404 #----------------
405 {
406    __rawmemchr/libXt.so.6.0/libXt.so.6.0
407    Memcheck:Cond
408    fun:__rawmemchr
409    obj:/usr/X11R6/lib/libXt.so.6.0
410    obj:/usr/X11R6/lib/libXt.so.6.0
411 }
412 {
413    libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
414    Memcheck:Cond
415    obj:*libc-2.2.?.so
416    obj:/usr/X11R6/lib/libXt.so.6.0
417    obj:/usr/X11R6/lib/libXt.so.6.0
418 }
419
420 ## Bug in PRE(sys_clone), really.  Some args are not used.
421 {
422    LinuxThread clone use (child_tidptr)
423    Memcheck:Param
424    clone(child_tidptr)
425    fun:clone
426    fun:__pthread_initialize_manager
427    fun:pthread_create@@GLIBC_2.2.5
428 }
429
430 ## LinuxThreads manager writes messages containing undefined bytes
431 {
432    LinuxThreads: write/pthread_create
433    Memcheck:Param
434    write(buf)
435    fun:pthread_create@@GLIBC_2.1
436 }
437 {
438    LinuxThreads: write/pthread_create
439    Memcheck:Param
440    write(buf)
441    fun:write
442    fun:pthread_create@@GLIBC_2.1
443 }
444 {
445    LinuxThreads: write/pthread_onexit_process
446    Memcheck:Param
447    write(buf)
448    fun:write
449    fun:pthread_onexit_process
450    fun:exit
451 }
452 {
453    LinuxThreads: write/pthread_join
454    Memcheck:Param
455    write(buf)
456    fun:write
457    fun:pthread_join
458 }
459 {
460    LinuxThreads: write/pthread_create
461    Memcheck:Param
462    write(buf)
463    fun:write
464    fun:pthread_create@@GLIBC_2.2.5
465 }
466 {
467    LinuxThreads: write/__pthread_initialize_manager/pthread_create
468    Memcheck:Param
469    write(buf)
470    fun:write
471    fun:__pthread_initialize_manager
472    fun:pthread_create@@GLIBC_2.2.5
473 }
474
475 ## LinuxThreads leaks the stack and TLS data for the manager thread
476 {
477    LinuxThreads: leaks stack of manager thread
478    Memcheck:Leak
479    fun:malloc
480    fun:__pthread_initialize_manager
481    fun:pthread_create@@GLIBC_2.1
482 }
483 {
484    LinuxThreads: leaks TLS data for manager thread
485    Memcheck:Leak
486    fun:calloc
487    fun:_dl_allocate_tls
488    fun:__pthread_initialize_minimal
489 }
490 {
491    LinuxThreads: leaks TLS data for manager thread
492    Memcheck:Leak
493    fun:memalign
494    fun:_dl_allocate_tls
495    fun:__pthread_initialize_minimal
496 }
497 {
498    LinuxThreads: leaks stack of manager thread
499    Memcheck:Leak
500    fun:malloc
501    fun:__pthread_initialize_manager
502    fun:pthread_create@@GLIBC_2.2.5
503 }
504 {
505    LinuxThreads: leaks TLS data for manager thread
506    Memcheck:Leak
507    fun:calloc
508    fun:allocate_dtv
509    fun:_dl_allocate_tls_storage
510    fun:_dl_allocate_tls
511    fun:__pthread_initialize_minimal
512 }
513 {
514    LinuxThreads: leaks TLS data for manager thread
515    Memcheck:Leak
516    fun:memalign
517    fun:_dl_allocate_tls_storage
518    fun:_dl_allocate_tls
519    fun:__pthread_initialize_minimal
520 }