blob: f6e22f8c85de24af6c7c1308a5345015014e0e09 [file] [log] [blame]
sewardj95386ae2007-11-09 22:50:55 +00001
2##----------------------------------------------------------------------##
3# Suppressions for the Helgrind tool when using
4# a glibc-2.{2,3,4,5,6} system
5
6######------------ glibc-2.5 specific ------------######
7#
8## NB. This is the "reference set". Derived sets for
9## glibc 2.4, 2.3 and 2.6 follow below.
10{
11 helgrind-glibc25-001
12 Helgrind:Race
13 obj:/lib*/ld-2.5.so
14 obj:/lib*/ld-2.5.so
15 obj:/lib*/ld-2.5.so
16}
17{
18 helgrind-glibc25-002
19 Helgrind:Race
20 obj:/lib*/ld-2.5.so
21 obj:/lib*/libc-2.5.so
22 obj:/lib*/ld-2.5.so
23}
24{
25 helgrind-glibc25-003
26 Helgrind:Race
27 obj:/lib*/ld-2.5.so
28 obj:/lib*/libc-2.5.so
29 obj:/lib*/libc-2.5.so
30}
31{
32 helgrind-glibc25-004
33 Helgrind:Race
34 obj:/lib*/libc-2.5.so
35 obj:/lib*/libc-2.5.so
36}
37{
38 helgrind-glibc25-005
39 Helgrind:Race
40 obj:/lib*/libpthread-2.5.so
41 obj:/lib*/libpthread-2.5.so
42 obj:/lib*/libpthread-2.5.so
43}
44{
45 helgrind-glibc25-006
46 Helgrind:Race
47 obj:/lib*/libpthread-2.5.so
48 obj:/lib*/libpthread-2.5.so
49 obj:/lib*/libc-2.5.so
50}
51{
52 helgrind-glibc25-007
53 Helgrind:Race
54 obj:/lib*/ld-2.5.so
55 obj:/lib*/libc-2.5.so
56 obj:/lib*/libdl-2.5.so
57}
58{
59 helgrind-glibc25-008
60 Helgrind:Race
61 obj:/lib*/libpthread-2.5.so
62 obj:/lib*/libc-2.5.so
63}
64{
65 helgrind-glibc25-009
66 Helgrind:Race
67 obj:/lib*/libc-2.5.so
68 fun:*
69 obj:/lib*/libc-2.5.so
70}
71{
72 helgrind-glibc25-010
73 Helgrind:Race
74 obj:/lib*/ld-2.5.so
75 obj:/lib*/libpthread-2.5.so
76}
77{
78 helgrind-glibc25-011
79 Helgrind:Race
80 obj:/lib*/libc-2.5.so
81 obj:/lib*/libpthread-2.5.so
82}
83{
84 helgrind-glibc25-013
85 Helgrind:Race
86 obj:/lib*/ld-2.5.so
87 fun:*
88 obj:/lib*/ld-2.5.so
89}
90{
91 helgrind-glibc25-014
92 Helgrind:Race
93 obj:/lib*/ld-2.5.so
94 obj:/lib*/ld-2.5.so
95 obj:/lib*/libpthread-2.5.so
96}
97
98# These are very ugly. They are needed to suppress errors inside (eg)
99# NPTL's pthread_cond_signal. Why only one stack frame -- at least we
100# should see the wrapper calling the real functions, right?
101# Unfortunately, no: the real functions are handwritten assembly (in
102# the glibc-2.5 sources) and does not create a proper stack frame.
103# Therefore it's only one level of unwinding before we're back out in
104# user code rather than the 2 levels you'd expect.
105{
106 helgrind-glibc25-101
107 Helgrind:Race
108 obj:/lib*/libpthread-2.5.so
109 fun:pthread_*
110}
111{
112 helgrind-glibc25-102
113 Helgrind:Race
114 fun:mythread_wrapper
115 obj:/lib*/libpthread-2.5.so
116}
117{
118 helgrind-glibc25-103
119 Helgrind:Race
120 fun:pthread_cond_*@@GLIBC_2.3.2
121}
122{
123 helgrind-glibc25-104
124 Helgrind:Race
125 fun:__lll_mutex_*
126}
127{
128 helgrind-glibc25-105
129 Helgrind:Race
130 fun:pthread_rwlock_*lock*
131}
132
133######------------ glibc-2.4 specific ------------######
134#
135{
136 helgrind-glibc24-001
137 Helgrind:Race
138 obj:/lib*/ld-2.4.so
139 obj:/lib*/ld-2.4.so
140 obj:/lib*/ld-2.4.so
141}
142{
143 helgrind-glibc24-003
144 Helgrind:Race
145 obj:/lib*/ld-2.4.so
146 obj:/lib*/libc-2.4.so
147 obj:/lib*/libc-2.4.so
148}
149{
150 helgrind-glibc24-004
151 Helgrind:Race
152 obj:/lib*/libc-2.4.so
153 obj:/lib*/libc-2.4.so
154}
155{
156 helgrind-glibc24-005
157 Helgrind:Race
158 obj:/lib*/libpthread-2.4.so
159 obj:/lib*/libpthread-2.4.so
160 obj:/lib*/libpthread-2.4.so
161}
162{
163 helgrind-glibc24-006
164 Helgrind:Race
165 obj:/lib*/libpthread-2.4.so
166 obj:/lib*/libpthread-2.4.so
167 obj:/lib*/libc-2.4.so
168}
169{
170 helgrind-glibc24-008
171 Helgrind:Race
172 obj:/lib*/libpthread-2.4.so
173 obj:/lib*/libc-2.4.so
174}
175{
176 helgrind-glibc24-010
177 Helgrind:Race
178 obj:/lib*/ld-2.4.so
179 obj:/lib*/libpthread-2.4.so
180}
181{
182 helgrind-glibc24-011
183 Helgrind:Race
184 obj:/lib*/libc-2.4.so
185 obj:/lib*/libpthread-2.4.so
186}
187
188{
189 helgrind-glibc24-101
190 Helgrind:Race
191 obj:/lib*/libpthread-2.4.so
192 fun:pthread_*
193}
194{
195 helgrind-glibc24-102
196 Helgrind:Race
197 fun:mythread_wrapper
198 obj:/lib*/libpthread-2.4.so
199}
200
201######------------ glibc-2.6 specific ---------######
202#
203{
204 helgrind-glibc26-001
205 Helgrind:Race
206 obj:/lib*/ld-2.6.*so
207 obj:/lib*/ld-2.6.*so
208 obj:/lib*/ld-2.6.*so
209}
210{
211 helgrind-glibc26-003
212 Helgrind:Race
213 obj:/lib*/ld-2.6.*so
214 obj:/lib*/libc-2.6.*so
215 obj:/lib*/libc-2.6.*so
216}
217{
218 helgrind-glibc26-004
219 Helgrind:Race
220 obj:/lib*/libc-2.6.*so
221 obj:/lib*/libc-2.6.*so
222}
223{
224 helgrind-glibc26-006
225 Helgrind:Race
226 obj:/lib*/libpthread-2.6.*so
227 obj:/lib*/libpthread-2.6.*so
228 obj:/lib*/libc-2.6.*so
229}
230{
231 helgrind-glibc26-008
232 Helgrind:Race
233 obj:/lib*/libpthread-2.6.*so
234 obj:/lib*/libc-2.6.*so
235}
236
237{
238 helgrind-glibc26-101
239 Helgrind:Race
240 obj:/lib*/libpthread-2.6.*so
241 fun:pthread_*
242}
243{
244 helgrind-glibc26-102
245 Helgrind:Race
246 fun:mythread_wrapper
247 obj:/lib*/libpthread-2.6.*so
248}
249{
250 helgrind-glibc26-106
251 Helgrind:Race
252 fun:__lll_lock_wait
253}
254
255######--------- glibc-2.3 specific ---------######
256{
257 helgrind-glibc23-001
258 Helgrind:Race
259 obj:/lib*/ld-2.3.*so
260 obj:/lib*/ld-2.3.*so
261 obj:/lib*/ld-2.3.*so
262}
263{
264 helgrind-glibc23-002
265 Helgrind:Race
266 obj:/lib*/ld-2.3.*so
267 obj:/lib*/libc-2.3.*so
268 obj:/lib*/ld-2.3.*so
269}
270{
271 helgrind-glibc23-004
272 Helgrind:Race
273 obj:/lib*/libc-2.3.*so
274 obj:/lib*/libc-2.3.*so
275}
276{
277 helgrind-glibc23-006
278 Helgrind:Race
279 obj:/lib*/libpthread-2.3.*so
280 obj:/lib*/libpthread-2.3.*so
281 obj:/lib*/libc-2.3.*so
282}
283{
284 helgrind-glibc23-008
285 Helgrind:Race
286 obj:/lib*/libpthread-2.3.*so
287 obj:/lib*/libc-2.3.*so
288}
289{
290 helgrind-glibc23-009
291 Helgrind:Race
292 obj:/lib*/libc-2.3.*so
293 obj:/lib*/ld-2.3.*so
294 obj:/lib*/libc-2.3.*so
295}
296{
297 helgrind-glibc23-011
298 Helgrind:Race
299 obj:/lib*/libc-2.3.*so
300 obj:/lib*/libpthread-2.3.*so
301}
302{
303 helgrind-glibc23-012
304 Helgrind:Race
305 obj:/lib*/ld-2.3.*so
306 obj:/lib*/ld-2.3.*so
307 obj:/lib*/libc-2.3.*so
308}
309{
310 helgrind-glibc23-014
311 Helgrind:Race
312 obj:/lib*/ld-2.3.*so
313 obj:/lib*/ld-2.3.*so
314 obj:/lib*/libpthread-2.3.*so
315}
316
317{
318 helgrind-glibc23-100
319 Helgrind:Race
320 obj:/lib*/libpthread-2.3.*so
321 fun:pthread_*
322}
323{
324 helgrind-glibc23-101
325 Helgrind:Race
326 fun:mythread_wrapper
327 obj:/lib*/libpthread-2.3.*so
328}
329
330######------ qt4 specific (GNU mangling) ------######
331{
332 helgrind-qt4-QMutex::lock()-twice
333 Helgrind:Race
334 fun:_ZN6QMutex4lockEv
335 fun:_ZN6QMutex4lockEv
336}