blob: 2fa5da7393a8fb9b5b48c7c3de79adb32a6d2d2d [file] [log] [blame]
bart6ccda142009-07-23 07:37:32 +00001#
bart6e058362009-07-25 14:03:24 +00002# Suppression patterns for dyld, the dynamic loader.
bart6ccda142009-07-23 07:37:32 +00003#
4
5{
bartd7de9892009-07-26 13:52:35 +00006 drd-darwin-dyld-register-func-for-add-image
bart6ccda142009-07-23 07:37:32 +00007 drd:MutexErr
8 fun:pthread_mutex_unlock
9 fun:_dyld_register_func_for_add_image
10 fun:__keymgr_initializer
11 fun:libSystem_initializer
bart6ccda142009-07-23 07:37:32 +000012}
13{
bartd7de9892009-07-26 13:52:35 +000014 drd-darwin-dyld-register-func-for-remove-image
bart6ccda142009-07-23 07:37:32 +000015 drd:MutexErr
16 fun:pthread_mutex_unlock
17 fun:_dyld_register_func_for_remove_image
18 fun:__keymgr_initializer
19 fun:libSystem_initializer
bart6ccda142009-07-23 07:37:32 +000020}
21{
bartd7de9892009-07-26 13:52:35 +000022 drd-darwin-dyld-GlobalLockInitialize
bart6ccda142009-07-23 07:37:32 +000023 drd:MutexErr
24 fun:pthread_mutex_init
25 fun:_Z24dyldGlobalLockInitializev
26 fun:_dyld_initializer
bart6ccda142009-07-23 07:37:32 +000027}
28{
bartd7de9892009-07-26 13:52:35 +000029 drd-darwin-dyld-bindLazySymbol
bart6ccda142009-07-23 07:37:32 +000030 drd:ConflictingAccess
31 ...
bart6ccda142009-07-23 07:37:32 +000032 fun:_ZN4dyld14bindLazySymbolEPK11mach_headerPm
33 fun:stub_binding_helper_interface2
34}
35{
bartd7de9892009-07-26 13:52:35 +000036 drd-darwin-dyld-addImage
37 drd:ConflictingAccess
38 fun:_ZN4dyld8addImageEP11ImageLoader
39}
40{
41 dyld-ImageLoader::link
42 drd:ConflictingAccess
43 ...
44 fun:_ZN4dyld18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE
45 fun:_ZN11ImageLoader4linkERKNS_11LinkContextEbbRKNS_10RPathChainE
46 fun:_ZN4dyld4linkEP11ImageLoaderbRKNS0_10RPathChainE
47}
48{
49 drd-darwin-dyld-ImageLoaderMachO::resolveUndefined
bart6ccda142009-07-23 07:37:32 +000050 drd:ConflictingAccess
bart6e058362009-07-25 14:03:24 +000051 ...
bart6ccda142009-07-23 07:37:32 +000052 fun:_ZN16ImageLoaderMachO16resolveUndefinedERKN11ImageLoader11LinkContextEPK11macho_nlistbPPKS0_
bart6e058362009-07-25 14:03:24 +000053}
54{
bartd7de9892009-07-26 13:52:35 +000055 drd-darwin-dyld-ImageLoaderMachO::findExportedSymbol
bart6e058362009-07-25 14:03:24 +000056 drd:ConflictingAccess
57 fun:_ZNK16ImageLoaderMachO18findExportedSymbolEPKcPKvbPPK11ImageLoader
58 fun:_ZNK11ImageLoader41findExportedSymbolInDependentImagesExceptEPKcPPKS_RS4_S4_S4_
59 fun:_ZNK11ImageLoader42findExportedSymbolInImageOrDependentImagesEPKcRKNS_11LinkContextEPPKS_
60 fun:dlsym
bart6ccda142009-07-23 07:37:32 +000061}
62
63
64#
bart6e058362009-07-25 14:03:24 +000065# Suppression patterns for libc, Darwin's C library.
bart6ccda142009-07-23 07:37:32 +000066#
67
68{
69 drd-darwin-libc-cerror
70 drd:ConflictingAccess
71 ...
72 fun:cerror
73}
74{
bart6ccda142009-07-23 07:37:32 +000075 drd-darwin-libc-rand
76 drd:ConflictingAccess
77 fun:do_rand
78}
79{
bart6ccda142009-07-23 07:37:32 +000080 drd-darwin-libc-vfprintf-1
81 drd:ConflictingAccess
82 fun:vfprintf_l
83}
84{
85 drd-darwin-libc-vfprintf-2
86 drd:ConflictingAccess
87 fun:__vfprintf
88}
89{
90 drd-darwin-libc-localeconv
91 drd:ConflictingAccess
92 fun:localeconv_l
93}
94{
bartc1535ed2009-07-23 10:50:08 +000095 drd-darwin-libc-fwrite
96 drd:ConflictingAccess
97 ...
98 fun:fwrite$UNIX2003
99}
100{
101 drd-darwin-cxa-guard-acquire
102 drd:ConflictingAccess
103 obj:*
104 fun:__cxa_current_exception_type
105 fun:__cxa_guard_acquire
106}
107{
108 drd-darwin-cxa-guard-release
109 drd:ConflictingAccess
110 fun:__cxa_guard_release
111}
112{
113 drd-darwin-cxa-finalize
114 drd:MutexErr
115 fun:pthread_mutex_destroy
116 fun:__tcf_115
117 fun:__cxa_finalize
118 fun:exit
119}
bart6e058362009-07-25 14:03:24 +0000120{
121 drd-darwin-atexit-register
122 drd:ConflictingAccess
123 fun:atexit_register
124}
125{
126 drd-darwin-opendir
127 drd:ConflictingAccess
128 fun:telldir$UNIX2003
129 fun:__opendir2$UNIX2003
130 fun:opendir$UNIX2003
131}
132{
133 drd-darwin-readdir
134 drd:ConflictingAccess
135 fun:readdir
136}
137{
138 drd-darwin-closedir
139 drd:ConflictingAccess
140 fun:closedir$UNIX2003
141}
142{
143 drd:darwin-ptrace
144 drd:ConflictingAccess
145 fun:ptrace
146}
bart6ccda142009-07-23 07:37:32 +0000147
148
149#
bart6e058362009-07-25 14:03:24 +0000150# Suppression patterns for libpthread, Darwin's POSIX threads implementation.
bart6ccda142009-07-23 07:37:32 +0000151#
152
153{
154 drd-darwin-pthread-create-1
155 drd:ConflictingAccess
156 obj:*
157 fun:thread_start
158}
159{
160 drd-darwin-pthread-create-2
161 drd:ConflictingAccess
162 ...
163 fun:pthread_create*
164}
165{
166 drd-darwin-pthread-join-1
167 drd:ConflictingAccess
168 ...
169 fun:pthread_join$UNIX2003
170}
171{
bart6ccda142009-07-23 07:37:32 +0000172 drd-darwin-pthread-exit
173 drd:ConflictingAccess
174 ...
175 fun:_pthread_exit
176}
177{
178 drd-darwin-pthread-find-thread
179 drd:ConflictingAccess
180 fun:_pthread_find_thread
181}
182{
183 drd-darwin-pthread-spin-unlock
184 drd:ConflictingAccess
185 fun:spin_unlock
186}
187{
188 drd-darwin-pthread-testcancel
189 drd:ConflictingAccess
190 fun:_pthread_testcancel
191}
192{
193 drd-darwin-pthread-detach
194 drd:CondRaceErr
195 ...
196 fun:pthread_detach
197}
198{
199 drd-darwin-pthread-kill
200 drd:ConflictingAccess
201 ...
202 fun:pthread_kill
203}
204{
205 drd-darwin-pthread-free-pthread-onstack
206 drd:ConflictingAccess
207 fun:mig_dealloc_reply_port
208 fun:_pthread_free_pthread_onstack
209}
bart6e058362009-07-25 14:03:24 +0000210{
211 drd-darwin-pthread-mach-thread-np
212 drd:ConflictingAccess
213 ...
214 fun:pthread_mach_thread_np
215}
216{
217 drd-darwin-pthread-key-create
218 drd:ConflictingAccess
219 fun:pthread_key_create
220}
221
222
223#
224# Suppression patterns for libobjc.
225#
226
bartd7de9892009-07-26 13:52:35 +0000227# It looks like the implementation of objc_msgSend uses another means than the
228# POSIX threads library for locking. More information about messaging and
229# objc_msgSend can be found here:
230# http://devworld.apple.com/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtHowMessagingWorks.html
231#
232
bart6e058362009-07-25 14:03:24 +0000233{
bartd7de9892009-07-26 13:52:35 +0000234 drd-darwin-objc-msgSend
bart6e058362009-07-25 14:03:24 +0000235 drd:ConflictingAccess
bartd7de9892009-07-26 13:52:35 +0000236 ...
bart6e058362009-07-25 14:03:24 +0000237 fun:objc_msgSend
238}
239{
bartd7de9892009-07-26 13:52:35 +0000240 drd-darwin-objc-msgSend
bart6e058362009-07-25 14:03:24 +0000241 drd:ConflictingAccess
bartd7de9892009-07-26 13:52:35 +0000242 ...
243 fun:objc_sync_enter
bart6e058362009-07-25 14:03:24 +0000244}
245
246
247#
248# Suppression patterns for CoreFoundation.framework.
249#
250
bartd7de9892009-07-26 13:52:35 +0000251# Suppressions for NSObject methods. For more information about the NSObject
252# class, see also
253# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/Reference/Reference.html
bart6e058362009-07-25 14:03:24 +0000254{
bartd7de9892009-07-26 13:52:35 +0000255 drd-darwin-NSObject-release
bart6e058362009-07-25 14:03:24 +0000256 drd:ConflictingAccess
257 ...
258 fun:-[NSObject release]
259}
260{
bartd7de9892009-07-26 13:52:35 +0000261 drd-darwin-NSObject-autorelease-1
bart6e058362009-07-25 14:03:24 +0000262 drd:ConflictingAccess
263 ...
264 fun:-[NSObject(NSObject) autorelease]
265}
266{
bartd7de9892009-07-26 13:52:35 +0000267 drd-darwin-NSObject-autorelease-2
268 drd:ConflictingAccess
269 fun:__NSAutoreleaseObject
270}
271{
272 drd-darwin-NSObject-NSDeallocateObject
273 drd:ConflictingAccess
274 fun:_internal_object_dispose
275 fun:NSDeallocateObject
276}
277{
278 drd-darwin-NSObject-retain
bart6e058362009-07-25 14:03:24 +0000279 drd:ConflictingAccess
280 ...
281 fun:-[NSObject retain]
282}
283{
bartd7de9892009-07-26 13:52:35 +0000284 drd-darwin-NSObject-retainCount
285 drd:ConflictingAccess
286 ...
287 fun:-[NSObject retainCount]
288}
289{
290 drd-darwin-NSObject-NSDelayedPerforming-1
291 drd:ConflictingAccess
292 ...
293 fun:+[NSObject(NSDelayedPerforming) cancelPreviousPerformRequestsWithTarget:selector:object:]
294}
295{
296 drd-darwin-NSObject-NSDelayedPerforming-2
297 drd:ConflictingAccess
298 ...
299 fun:-[NSObject(NSDelayedPerforming) performSelector:withObject:afterDelay:]
300}
301{
302 drd-darwin-NSObject-NSDelayedPerforming-3
303 drd:ConflictingAccess
304 ...
305 fun:-[NSObject(NSDelayedPerforming) performSelector:withObject:afterDelay:inModes:]
306}
307{
308 drd-darwin-NSObject-NSDelayedPerforming-4
309 drd:ConflictingAccess
310 ...
311 fun:-[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:]
312}
313{
314 drd-darwin-NSObject-NSDelayedPerforming-5
315 drd:ConflictingAccess
316 ...
317 fun:-[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:]
318}
319
320# Suppressions for methods of the NSThread class.
321{
322 drd-NSThread-nq
323 drd:ConflictingAccess
324 ...
325 fun:-[NSThread _nq:]
326}
327
328# Suppressions for methods of the NSLock class. See also
329# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSLock_Class/Reference/Reference.html
330{
331 drd-darwin-NSLock-lock
332 drd:ConflictingAccess
333 fun:-[NSLock lock]
334}
335{
336 drd-darwin-NSLock-unlock
337 drd:ConflictingAccess
338 fun:-[NSLock unlock]
339}
340# Suppressions for NSCondition methods.
341{
342 drd-darwin-NSConditionLock-lock
343 drd:ConflictingAccess
344 fun:-[NSCondition lock]
345}
346# Suppressions for NSConditionLock methods.
347{
348 drd-darwin-NSConditionLock-lockWhenCondition:beforeDate:
349 drd:ConflictingAccess
350 fun:-[NSConditionLock lockWhenCondition:beforeDate:]
351}
352
353
354# NSExtraRefCount returns the specified object's reference count, and
355# NSDecrementExtraRefCountWasZero decrements the specified object's reference
356# count.
357# See also http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Functions/Reference/reference.html
358{
359 drd-darwin-NSExtraRefCount
bart6e058362009-07-25 14:03:24 +0000360 drd:ConflictingAccess
361 ...
362 fun:NSExtraRefCount
363}
364{
bartd7de9892009-07-26 13:52:35 +0000365 drd-darwin-NSDecrementExtraRefCountWasZero
366 drd:ConflictingAccess
367 ...
368 fun:NSDecrementExtraRefCountWasZero
369}
370# For more information about key-value observing, see also the NSKeyValueObserving Protocol Reference:
371# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Protocols/NSKeyValueObserving_Protocol/Reference/Reference.html
372{
373 drd-darwin-NSKVONotify
bart6e058362009-07-25 14:03:24 +0000374 drd:ConflictingAccess
375 ...
376 fun:NSKVONotify
377}
378{
bartd7de9892009-07-26 13:52:35 +0000379 drd-darwin-NSKVONotifyingEnableForInfoAndKey
bart6e058362009-07-25 14:03:24 +0000380 drd:ConflictingAccess
381 ...
bartd7de9892009-07-26 13:52:35 +0000382 fun:_NSKVONotifyingEnableForInfoAndKey
383}
384# From the NSRunLoop class reference:
385# Warning: The NSRunLoop class is generally not considered to be thread-safe
386# and its methods should only be called within the context of the current
387# thread. You should never try to call the methods of an NSRunLoop object
388# running in a different thread, as doing so might cause unexpected results.
389# See also the NSRunLoop Class Reference:
390# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSRunLoop_Class/Reference/Reference.html
391# {
392# drd-darwin-CFRunLoop*
393# drd:ConflictingAccess
394# ...
395# fun:CFRunLoop*
396# }
397# See also the CFBag reference:
398# http://developer.apple.com/documentation/CoreFoundation/Reference/CFBagRef/Reference/reference.html
399# {
400# drd-darwin-CFBag*
401# drd:ConflictingAccess
402# fun:CFBag*
403# }
404
405# Suppression patterns for the memory allocation functions in WTF.
406{
407 drd-WTF::fastCalloc
408 drd:ConflictingAccess
409 ...
410 fun:_ZN3WTF10fastCallocEmm
bart6e058362009-07-25 14:03:24 +0000411}
412{
bartd7de9892009-07-26 13:52:35 +0000413 drd-WTF::fastMalloc
bart6e058362009-07-25 14:03:24 +0000414 drd:ConflictingAccess
bartd7de9892009-07-26 13:52:35 +0000415 ...
416 fun:_ZN3WTF10fastMallocEm
417}
418{
419 drd-WTF::fastFree
420 drd:ConflictingAccess
421 ...
422 fun:_ZN3WTF8fastFreeEPv
bart6e058362009-07-25 14:03:24 +0000423}
424
bartd7de9892009-07-26 13:52:35 +0000425# Suppression patterns for the string manipulation functions in WebCore.
bart6e058362009-07-25 14:03:24 +0000426{
bartd7de9892009-07-26 13:52:35 +0000427 drd-WebCore::StringImpl::init
bart6e058362009-07-25 14:03:24 +0000428 drd:ConflictingAccess
bartd7de9892009-07-26 13:52:35 +0000429 ...
430 fun:_ZN7WebCore10StringImpl4initEPKcj
431}
432{
433 drd-WebCore::StringImpl::append
434 drd:ConflictingAccess
435 ...
436 fun:_ZN7WebCore10StringImpl6appendEPKtj
437}
438{
439 drd-WebCore::CString::init
440 drd:ConflictingAccess
441 ...
442 fun:_ZN7WebCore7CString4initEPKcj
443}
444
445# Suppression patterns for the text encoding functions in WebCore.
446{
447 drd-WebCore::WebCore::TextCodec::~TextCodec()
448 drd:ConflictingAccess
449 fun:_ZN7WebCore9TextCodecD2Ev
450}
451{
452 drd-WebCore::TextCodecICU::TextCodecICU
453 drd:ConflictingAccess
454 fun:_ZN7WebCore12TextCodecICUC2ERKNS_12TextEncodingE
455}
456{
457 drd-WebCore::TextCodecICU::~TextCodecICU
458 drd:ConflictingAccess
459 fun:_ZN7WebCore12TextCodecICUD0Ev
bart6e058362009-07-25 14:03:24 +0000460}