Add pthread suppressions.
[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
20 #-------- Threading bugs?
21
22 {
23    pthread_error/__pthread_mutex_destroy/__closedir
24    PThread
25    fun:pthread_error
26    fun:__pthread_mutex_destroy
27    fun:__closedir
28 }
29
30 {
31    pthread_error/__pthread_mutex_destroy/_IO_default_finish
32    PThread
33    fun:pthread_error
34    fun:__pthread_mutex_destroy
35    fun:_IO_default_finish
36 }
37
38 {
39    __pthread_mutex_unlock/_IO_funlockfile
40    PThread
41    fun:__pthread_mutex_unlock
42    fun:_IO_funlockfile
43 }
44
45 {
46    __pthread_mutex_unlock/__register_frame_info
47    PThread
48    fun:__pthread_mutex_unlock
49    fun:__register_frame_info
50 }
51
52 # even more glibc suppressions ?
53 {
54    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond)
55    Cond
56    obj:*libc-2.2.?.so
57    obj:*libc-2.2.?.so
58    obj:*libc-2.2.?.so
59 }
60 {
61    libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value4)
62    Value4
63    obj:*libc-2.2.?.so
64    obj:*libc-2.2.?.so
65    obj:*libc-2.2.?.so
66 }
67
68 ##### glibc 2.2.5 stuff perhaps?
69 ##### suppressions for coolo
70 {
71    strchr/dl_open_worker(Cond)
72    Cond
73    fun:strchr
74    fun:dl_open_worker
75 }
76
77    __rawmemchr/internal_getgrgid_r(Cond)
78    Cond 
79    fun:__rawmemchr
80    fun:internal_getgrgid_r
81
82
83    _IO_vfprintf/__strnlen(Cond)
84    Cond 
85    fun:__strnlen
86    fun:_IO_vfprintf
87
88
89    __strchrnul/gethostbyname*(Cond)
90    Cond 
91    fun:__strchrnul
92    fun:gethostbyname*
93
94
95
96 ##----
97 {
98    strlen/*dl_map_object*(Cond)
99    Cond
100    fun:strlen
101    fun:*dl_map_object*
102 }
103
104 {
105    strlen/*dl_open_worker*(Cond)
106    Cond
107    fun:strlen
108    fun:*dl_open_worker*
109 }
110
111 {
112    *rawmemchr*/*nss*(Cond)
113    Cond
114    fun:*rawmemchr*
115    fun:*nss*
116 }
117
118 {
119    *strchrnul*/*nss*(Cond)
120    Cond
121    fun:*strchrnul*
122    fun:*nss*
123 }
124
125 # gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
126 # on Red Hat 7.2 (x86) miscompiles __mpn_construct_double in
127 # __mpn_construct_double (../sysdeps/ieee754/dbl-64/mpn2dbl.c:45)
128 # (glibc-2.2.4) to read and write below %esp.  Hence the following
129 # two:
130 {
131    __mpn_construct_double/*(Addr4)
132    Addr4
133    fun:__mpn_construct_double
134    fun:*
135 }
136 {
137    __mpn_construct_double/*(Addr8)
138    Addr8
139    fun:__mpn_construct_double
140    fun:*
141 }
142
143 # More of the same (gcc bug, I'm pretty sure)
144 {
145    __fabs/*(Addr4)
146    Addr4
147    fun:__fabs
148    fun:*
149 }
150 {
151    __fabs/*(Addr8)
152    Addr8
153    fun:__fabs
154    fun:*
155 }
156
157
158 # Not sure what this is about ... but anyway
159 {
160    pthread_sighandler/*(Addr4)
161    Addr4
162    fun:pthread_sighandler
163    fun:*
164 }
165
166
167 # More glibc stuff, AFAICS
168
169 {
170    __strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
171    Cond
172    fun:__strnlen
173    fun:__argz_stringify
174    fun:_nl_make_l10nflist
175 }
176
177 #--------------
178 {
179    _dl_relocate_object/dl_open_worker/_dl_catch_error(Cond)
180    Cond
181    fun:_dl_relocate_object
182    fun:dl_open_worker
183    fun:_dl_catch_error
184 }
185 {
186    _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
187    Cond
188    fun:_dl_relocate_object
189    obj:*libc-2.2.?.so
190    fun:_dl_catch_error
191 }
192
193 {
194    strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
195    Cond
196    fun:strrchr
197    fun:_dl_map_object_from_fd
198    fun:_dl_map_object
199 }
200
201 #-------------------
202 {
203    socketcall.connect(serv_addr)/__libc_connect/*
204    Param
205    socketcall.connect(serv_addr)
206    fun:__libc_connect
207    fun:*
208 }
209 {
210    socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so
211    Param
212    socketcall.connect(serv_addr)
213    obj:*libc-2.2.?.so
214    obj:*libc-2.2.?.so
215 }
216
217 #----------------------
218 {
219    write(buf)/__libc_write/libX11.so.6.2/libX11.so.6.2(Param)
220    Param
221    write(buf)
222    fun:__libc_write
223    obj:/usr/X11R6/lib/libX11.so.6.2
224    obj:/usr/X11R6/lib/libX11.so.6.2
225 }
226 {
227    write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param)
228    Param
229    write(buf)
230    obj:*libc-2.2.?.so
231    obj:/usr/X11R6/lib/libX11.so.6.2
232    obj:/usr/X11R6/lib/libX11.so.6.2
233 }
234
235 #{
236 #   llseek(result)/__libc_lseek64/_IO_file_seek(Param)
237 #   Param
238 #   llseek(result)
239 #   fun:__libc_lseek64
240 #   fun:_IO_file_seek
241 #}
242
243 {
244    writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2
245    Param
246    writev(vector[...])
247    fun:__writev
248    obj:/usr/X11R6/lib/libX11.so.6.2
249    obj:/usr/X11R6/lib/libX11.so.6.2
250 }
251
252 #----------------
253 {
254    __rawmemchr/libXt.so.6.0/libXt.so.6.0
255    Cond
256    fun:__rawmemchr
257    obj:/usr/X11R6/lib/libXt.so.6.0
258    obj:/usr/X11R6/lib/libXt.so.6.0
259 }
260 {
261    libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
262    Cond
263    obj:*libc-2.2.?.so
264    obj:/usr/X11R6/lib/libXt.so.6.0
265    obj:/usr/X11R6/lib/libXt.so.6.0
266 }
267
268 ##----------------------------------------------------------------------##
269