Suppress errors in __rawmemchr when called from anywhere at all.
[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(Cond)
78    Cond 
79    fun:__rawmemchr
80
81
82    _IO_vfprintf/__strnlen(Cond)
83    Cond 
84    fun:__strnlen
85    fun:_IO_vfprintf
86
87
88    __strchrnul/gethostbyname*(Cond)
89    Cond 
90    fun:__strchrnul
91    fun:gethostbyname*
92
93
94
95 ##----
96 {
97    strlen/*dl_map_object*(Cond)
98    Cond
99    fun:strlen
100    fun:*dl_map_object*
101 }
102
103 {
104    strlen/*dl_open_worker*(Cond)
105    Cond
106    fun:strlen
107    fun:*dl_open_worker*
108 }
109
110 {
111    *rawmemchr*/*nss*(Cond)
112    Cond
113    fun:*rawmemchr*
114    fun:*nss*
115 }
116
117 {
118    *strchrnul*/*nss*(Cond)
119    Cond
120    fun:*strchrnul*
121    fun:*nss*
122 }
123
124 # gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
125 # on Red Hat 7.2 (x86) miscompiles __mpn_construct_double in
126 # __mpn_construct_double (../sysdeps/ieee754/dbl-64/mpn2dbl.c:45)
127 # (glibc-2.2.4) to read and write below %esp.  Hence the following
128 # two:
129 {
130    __mpn_construct_double/*(Addr4)
131    Addr4
132    fun:__mpn_construct_double
133    fun:*
134 }
135 {
136    __mpn_construct_double/*(Addr8)
137    Addr8
138    fun:__mpn_construct_double
139    fun:*
140 }
141
142 # More of the same (gcc bug, I'm pretty sure)
143 {
144    __fabs/*(Addr4)
145    Addr4
146    fun:__fabs
147    fun:*
148 }
149 {
150    __fabs/*(Addr8)
151    Addr8
152    fun:__fabs
153    fun:*
154 }
155
156
157 # Not sure what this is about ... but anyway
158 {
159    pthread_sighandler/*(Addr4)
160    Addr4
161    fun:pthread_sighandler
162    fun:*
163 }
164
165
166 # More glibc stuff, AFAICS
167
168 {
169    __strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
170    Cond
171    fun:__strnlen
172    fun:__argz_stringify
173    fun:_nl_make_l10nflist
174 }
175
176 #--------------
177 {
178    _dl_relocate_object*/dl_open_worker/_dl_catch_error*(Cond)
179    Cond
180    fun:_dl_relocate_object*
181    fun:dl_open_worker
182    fun:_dl_catch_error*
183 }
184 {
185    _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
186    Cond
187    fun:_dl_relocate_object
188    obj:*libc-2.2.?.so
189    fun:_dl_catch_error
190 }
191
192 {
193    strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
194    Cond
195    fun:strrchr
196    fun:_dl_map_object_from_fd
197    fun:_dl_map_object
198 }
199
200 #-------------------
201 {
202    socketcall.connect(serv_addr)/__libc_connect/*
203    Param
204    socketcall.connect(serv_addr)
205    fun:__libc_connect
206    fun:*
207 }
208 {
209    socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so
210    Param
211    socketcall.connect(serv_addr)
212    obj:*libc-2.2.?.so
213    obj:*libc-2.2.?.so
214 }
215
216 #----------------------
217 {
218    write(buf)/__libc_write/libX11.so.6.2/libX11.so.6.2(Param)
219    Param
220    write(buf)
221    fun:__libc_write
222    obj:/usr/X11R6/lib/libX11.so.6.2
223    obj:/usr/X11R6/lib/libX11.so.6.2
224 }
225 {
226    write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param)
227    Param
228    write(buf)
229    obj:*libc-2.2.?.so
230    obj:/usr/X11R6/lib/libX11.so.6.2
231    obj:/usr/X11R6/lib/libX11.so.6.2
232 }
233
234 #{
235 #   llseek(result)/__libc_lseek64/_IO_file_seek(Param)
236 #   Param
237 #   llseek(result)
238 #   fun:__libc_lseek64
239 #   fun:_IO_file_seek
240 #}
241
242 {
243    writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2
244    Param
245    writev(vector[...])
246    fun:__writev
247    obj:/usr/X11R6/lib/libX11.so.6.2
248    obj:/usr/X11R6/lib/libX11.so.6.2
249 }
250
251 #----------------
252 {
253    __rawmemchr/libXt.so.6.0/libXt.so.6.0
254    Cond
255    fun:__rawmemchr
256    obj:/usr/X11R6/lib/libXt.so.6.0
257    obj:/usr/X11R6/lib/libXt.so.6.0
258 }
259 {
260    libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
261    Cond
262    obj:*libc-2.2.?.so
263    obj:/usr/X11R6/lib/libXt.so.6.0
264    obj:/usr/X11R6/lib/libXt.so.6.0
265 }
266
267 ##----------------------------------------------------------------------##
268