Files updated, added and removed in order to turn the ERASER branch into HEAD
[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 #     kind: one of Param Value1 Value2 Value4 Value8
10 #                   Free Addr1 Addr2 Addr4 Addr8
11 #                   Cond (previously known as Value0)
12 #     (if Param: name of system call param, if Free: name of free-ing fn)
13 #     caller0 name, or /name/of/so/file.so
14 #     caller1 name, or ditto
15 #     (optionally: caller2 name)
16 #     (optionally: caller3 name)
17 # }
18
19 #-------- R H Limbo (glibc-2.2.90) stuff
20 {
21    elf_dynamic_do_rela.8/_dl_relocate_object_internal
22    Cond
23    fun:elf_dynamic_do_rela.8
24    fun:_dl_relocate_object_internal
25 }
26
27 {
28    __strnlen/_nl_make_l10nflist(Cond)
29    Cond
30    fun:__strnlen
31    fun:_nl_make_l10nflist
32 }
33
34 {
35    __strnlen/*vfprintf*
36    Cond
37    fun:__strnlen
38    fun:*vfprintf*
39 }
40
41 {
42    libXaw.so.7.0(Cond)
43    Cond
44    obj:*libXaw.so.7.0
45 }
46
47 #-------- Suppress errors appearing as a result of calling
48 #-------- __libc_freeres()
49
50 {
51    __twalk/*(Addr4)
52    Addr4
53    fun:__twalk
54 }
55
56 {
57    do_release_shlib/__twalk(Addr4)
58    Addr4
59    fun:do_release_shlib
60    fun:__twalk
61 }
62
63 {
64    __libc_freeres/free_mem/free(Free)
65    Free
66    fun:free
67    fun:free_mem
68    fun:__libc_freeres
69 }
70
71 #-------- Data races
72 #{
73 #   _dl_lookup_symbol/fixup/_dl_runtime_resolve
74 #   Eraser
75 #   fun:_dl_lookup_symbol
76 #   fun:fixup
77 #   fun:_dl_runtime_resolve
78 #}
79 #
80 #{
81 #   _dl_lookup_versioned_symbol/fixup/_dl_runtime_resolve
82 #   Eraser
83 #   fun:_dl_lookup_versioned_symbol
84 #   fun:fixup
85 #   fun:_dl_runtime_resolve
86 #}
87
88 #-------- Threading bugs?
89 {
90    pthread_error/__pthread_mutex_destroy/__closedir
91    PThread
92    fun:pthread_error
93    fun:__pthread_mutex_destroy
94    fun:__closedir
95 }
96
97 {
98    pthread_error/__pthread_mutex_destroy/_IO_default_finish
99    PThread
100    fun:pthread_error
101    fun:__pthread_mutex_destroy
102    fun:_IO_default_finish*
103 }
104
105 {
106    __pthread_mutex_unlock/_IO_funlockfile
107    PThread
108    fun:__pthread_mutex_unlock
109    fun:_IO_funlockfile
110 }
111
112 {
113    __pthread_mutex_unlock/__register_frame_info
114    PThread
115    fun:__pthread_mutex_unlock
116    fun:__register_frame_info
117 }
118
119 # even more glibc suppressions ?
120 {
121    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond)
122    Cond
123    obj:*libc-2.2.?.so
124    obj:*libc-2.2.?.so
125    obj:*libc-2.2.?.so
126 }
127 {
128    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value4)
129    Value4
130    obj:*libc-2.2.?.so
131    obj:*libc-2.2.?.so
132    obj:*libc-2.2.?.so
133 }
134
135 ##### glibc 2.2.5 stuff perhaps?
136 ##### suppressions for coolo
137 {
138    strchr/dl_open_worker(Cond)
139    Cond
140    fun:strchr
141    fun:dl_open_worker
142 }
143
144    __rawmemchr(Cond)
145    Cond 
146    fun:__rawmemchr
147
148
149    _IO_vfprintf/__strnlen(Cond)
150    Cond 
151    fun:__strnlen
152    fun:_IO_vfprintf
153
154
155    __strchrnul/gethostbyname*(Cond)
156    Cond 
157    fun:__strchrnul
158    fun:gethostbyname*
159
160
161
162 ##----
163 {
164    strlen/*dl_map_object*(Cond)
165    Cond
166    fun:strlen
167    fun:*dl_map_object*
168 }
169
170 {
171    strlen/*dl_open_worker*(Cond)
172    Cond
173    fun:strlen
174    fun:*dl_open_worker*
175 }
176
177 {
178    *rawmemchr*/*nss*(Cond)
179    Cond
180    fun:*rawmemchr*
181    fun:*nss*
182 }
183
184 {
185    *strchrnul*/*nss*(Cond)
186    Cond
187    fun:*strchrnul*
188    fun:*nss*
189 }
190
191 # gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
192 # on Red Hat 7.2 (x86) miscompiles __mpn_construct_double in
193 # __mpn_construct_double (../sysdeps/ieee754/dbl-64/mpn2dbl.c:45)
194 # (glibc-2.2.4) to read and write below %esp.  Hence the following
195 # two:
196 {
197    __mpn_construct_double/*(Addr4)
198    Addr4
199    fun:__mpn_construct_double
200    fun:*
201 }
202 {
203    __mpn_construct_double/*(Addr8)
204    Addr8
205    fun:__mpn_construct_double
206    fun:*
207 }
208
209 # More of the same (gcc bug, I'm pretty sure)
210 {
211    __fabs/*(Addr4)
212    Addr4
213    fun:__fabs
214    fun:*
215 }
216 {
217    __fabs/*(Addr8)
218    Addr8
219    fun:__fabs
220    fun:*
221 }
222
223
224 # Not sure what this is about ... but anyway
225 {
226    pthread_sighandler/*(Addr4)
227    Addr4
228    fun:pthread_sighandler
229    fun:*
230 }
231
232
233 # More glibc stuff, AFAICS
234
235 {
236    __strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
237    Cond
238    fun:__strnlen
239    fun:__argz_stringify
240    fun:_nl_make_l10nflist
241 }
242
243 #--------------
244 {
245    _dl_relocate_object*/dl_open_worker/_dl_catch_error*(Cond)
246    Cond
247    fun:_dl_relocate_object*
248    fun:dl_open_worker
249    fun:_dl_catch_error*
250 }
251 {
252    _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
253    Cond
254    fun:_dl_relocate_object
255    obj:*libc-2.2.?.so
256    fun:_dl_catch_error
257 }
258
259 {
260    strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
261    Cond
262    fun:strrchr
263    fun:_dl_map_object_from_fd
264    fun:_dl_map_object
265 }
266
267 #-------------------
268 {
269    socketcall.connect(serv_addr)/__libc_connect/*
270    Param
271    socketcall.connect(serv_addr)
272    fun:__libc_connect
273    fun:*
274 }
275 {
276    socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so
277    Param
278    socketcall.connect(serv_addr)
279    obj:*libc-2.2.?.so
280    obj:*libc-2.2.?.so
281 }
282
283 #----------------------
284 {
285    write(buf)/__libc_write/libX11.so.6.2/libX11.so.6.2(Param)
286    Param
287    write(buf)
288    fun:__libc_write
289    obj:/usr/X11R6/lib/libX11.so.6.2
290    obj:/usr/X11R6/lib/libX11.so.6.2
291 }
292 {
293    write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param)
294    Param
295    write(buf)
296    obj:*libc-2.2.?.so
297    obj:/usr/X11R6/lib/libX11.so.6.2
298    obj:/usr/X11R6/lib/libX11.so.6.2
299 }
300
301 #{
302 #   llseek(result)/__libc_lseek64/_IO_file_seek(Param)
303 #   Param
304 #   llseek(result)
305 #   fun:__libc_lseek64
306 #   fun:_IO_file_seek
307 #}
308
309 {
310    writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2
311    Param
312    writev(vector[...])
313    fun:__writev
314    obj:/usr/X11R6/lib/libX11.so.6.2
315    obj:/usr/X11R6/lib/libX11.so.6.2
316 }
317
318 #----------------
319 {
320    __rawmemchr/libXt.so.6.0/libXt.so.6.0
321    Cond
322    fun:__rawmemchr
323    obj:/usr/X11R6/lib/libXt.so.6.0
324    obj:/usr/X11R6/lib/libXt.so.6.0
325 }
326 {
327    libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
328    Cond
329    obj:*libc-2.2.?.so
330    obj:/usr/X11R6/lib/libXt.so.6.0
331    obj:/usr/X11R6/lib/libXt.so.6.0
332 }
333
334 ##----------------------------------------------------------------------##
335