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
sewardj963286e2007-11-10 12:44:56 +000012 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +000013 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
sewardj963286e2007-11-10 12:44:56 +000019 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +000020 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
sewardj963286e2007-11-10 12:44:56 +000026 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +000027 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
sewardj963286e2007-11-10 12:44:56 +000033 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +000034 obj:/lib*/libc-2.5.so
35 obj:/lib*/libc-2.5.so
36}
37{
38 helgrind-glibc25-005
sewardj963286e2007-11-10 12:44:56 +000039 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +000040 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
sewardj963286e2007-11-10 12:44:56 +000046 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +000047 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
sewardj963286e2007-11-10 12:44:56 +000053 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +000054 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
sewardj963286e2007-11-10 12:44:56 +000060 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +000061 obj:/lib*/libpthread-2.5.so
62 obj:/lib*/libc-2.5.so
63}
64{
65 helgrind-glibc25-009
sewardj963286e2007-11-10 12:44:56 +000066 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +000067 obj:/lib*/libc-2.5.so
68 fun:*
69 obj:/lib*/libc-2.5.so
70}
71{
72 helgrind-glibc25-010
sewardj963286e2007-11-10 12:44:56 +000073 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +000074 obj:/lib*/ld-2.5.so
75 obj:/lib*/libpthread-2.5.so
76}
77{
78 helgrind-glibc25-011
sewardj963286e2007-11-10 12:44:56 +000079 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +000080 obj:/lib*/libc-2.5.so
81 obj:/lib*/libpthread-2.5.so
82}
83{
84 helgrind-glibc25-013
sewardj963286e2007-11-10 12:44:56 +000085 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +000086 obj:/lib*/ld-2.5.so
87 fun:*
88 obj:/lib*/ld-2.5.so
89}
90{
91 helgrind-glibc25-014
sewardj963286e2007-11-10 12:44:56 +000092 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +000093 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
sewardj963286e2007-11-10 12:44:56 +0000107 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000108 obj:/lib*/libpthread-2.5.so
109 fun:pthread_*
110}
111{
112 helgrind-glibc25-102
sewardj963286e2007-11-10 12:44:56 +0000113 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000114 fun:mythread_wrapper
115 obj:/lib*/libpthread-2.5.so
116}
117{
118 helgrind-glibc25-103
sewardj963286e2007-11-10 12:44:56 +0000119 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000120 fun:pthread_cond_*@@GLIBC_2.3.2
121}
122{
123 helgrind-glibc25-104
sewardj963286e2007-11-10 12:44:56 +0000124 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000125 fun:__lll_mutex_*
126}
127{
128 helgrind-glibc25-105
sewardj963286e2007-11-10 12:44:56 +0000129 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000130 fun:pthread_rwlock_*lock*
131}
132
133######------------ glibc-2.4 specific ------------######
134#
135{
136 helgrind-glibc24-001
sewardj963286e2007-11-10 12:44:56 +0000137 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000138 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
sewardj963286e2007-11-10 12:44:56 +0000144 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000145 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
sewardj963286e2007-11-10 12:44:56 +0000151 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000152 obj:/lib*/libc-2.4.so
153 obj:/lib*/libc-2.4.so
154}
155{
156 helgrind-glibc24-005
sewardj963286e2007-11-10 12:44:56 +0000157 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000158 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
sewardj963286e2007-11-10 12:44:56 +0000164 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000165 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
sewardj963286e2007-11-10 12:44:56 +0000171 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000172 obj:/lib*/libpthread-2.4.so
173 obj:/lib*/libc-2.4.so
174}
175{
176 helgrind-glibc24-010
sewardj963286e2007-11-10 12:44:56 +0000177 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000178 obj:/lib*/ld-2.4.so
179 obj:/lib*/libpthread-2.4.so
180}
181{
182 helgrind-glibc24-011
sewardj963286e2007-11-10 12:44:56 +0000183 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000184 obj:/lib*/libc-2.4.so
185 obj:/lib*/libpthread-2.4.so
186}
187
188{
189 helgrind-glibc24-101
sewardj963286e2007-11-10 12:44:56 +0000190 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000191 obj:/lib*/libpthread-2.4.so
192 fun:pthread_*
193}
194{
195 helgrind-glibc24-102
sewardj963286e2007-11-10 12:44:56 +0000196 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000197 fun:mythread_wrapper
198 obj:/lib*/libpthread-2.4.so
199}
200
201######------------ glibc-2.6 specific ---------######
202#
203{
204 helgrind-glibc26-001
sewardj963286e2007-11-10 12:44:56 +0000205 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000206 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
sewardj963286e2007-11-10 12:44:56 +0000212 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000213 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
sewardj963286e2007-11-10 12:44:56 +0000219 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000220 obj:/lib*/libc-2.6.*so
221 obj:/lib*/libc-2.6.*so
222}
223{
224 helgrind-glibc26-006
sewardj963286e2007-11-10 12:44:56 +0000225 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000226 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
sewardj963286e2007-11-10 12:44:56 +0000232 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000233 obj:/lib*/libpthread-2.6.*so
234 obj:/lib*/libc-2.6.*so
235}
236
237{
238 helgrind-glibc26-101
sewardj963286e2007-11-10 12:44:56 +0000239 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000240 obj:/lib*/libpthread-2.6.*so
241 fun:pthread_*
242}
243{
244 helgrind-glibc26-102
sewardj963286e2007-11-10 12:44:56 +0000245 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000246 fun:mythread_wrapper
247 obj:/lib*/libpthread-2.6.*so
248}
249{
250 helgrind-glibc26-106
sewardj963286e2007-11-10 12:44:56 +0000251 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000252 fun:__lll_lock_wait
253}
254
255######--------- glibc-2.3 specific ---------######
256{
257 helgrind-glibc23-001
sewardj963286e2007-11-10 12:44:56 +0000258 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000259 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
sewardj963286e2007-11-10 12:44:56 +0000265 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000266 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
sewardj963286e2007-11-10 12:44:56 +0000272 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000273 obj:/lib*/libc-2.3.*so
274 obj:/lib*/libc-2.3.*so
275}
276{
277 helgrind-glibc23-006
sewardj963286e2007-11-10 12:44:56 +0000278 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000279 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
sewardj963286e2007-11-10 12:44:56 +0000285 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000286 obj:/lib*/libpthread-2.3.*so
287 obj:/lib*/libc-2.3.*so
288}
289{
290 helgrind-glibc23-009
sewardj963286e2007-11-10 12:44:56 +0000291 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000292 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
sewardj963286e2007-11-10 12:44:56 +0000298 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000299 obj:/lib*/libc-2.3.*so
300 obj:/lib*/libpthread-2.3.*so
301}
302{
303 helgrind-glibc23-012
sewardj963286e2007-11-10 12:44:56 +0000304 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000305 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
sewardj963286e2007-11-10 12:44:56 +0000311 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000312 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
sewardj963286e2007-11-10 12:44:56 +0000319 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000320 obj:/lib*/libpthread-2.3.*so
321 fun:pthread_*
322}
323{
324 helgrind-glibc23-101
sewardj963286e2007-11-10 12:44:56 +0000325 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000326 fun:mythread_wrapper
327 obj:/lib*/libpthread-2.3.*so
328}
329
330######------ qt4 specific (GNU mangling) ------######
331{
332 helgrind-qt4-QMutex::lock()-twice
sewardj963286e2007-11-10 12:44:56 +0000333 Helgrind:Race
sewardj95386ae2007-11-09 22:50:55 +0000334 fun:_ZN6QMutex4lockEv
335 fun:_ZN6QMutex4lockEv
336}