blob: f9425e768da31d9bd9566215d46afeacc87e6c6c [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
bartdf2a1f72009-07-27 14:48:06 +0000194 drd:ConflictingAccess
195 ...
196 fun:pthread_detach
197}
198{
199 drd-darwin-pthread-detach
bart6ccda142009-07-23 07:37:32 +0000200 drd:CondRaceErr
201 ...
202 fun:pthread_detach
203}
204{
205 drd-darwin-pthread-kill
206 drd:ConflictingAccess
207 ...
208 fun:pthread_kill
209}
210{
211 drd-darwin-pthread-free-pthread-onstack
212 drd:ConflictingAccess
213 fun:mig_dealloc_reply_port
214 fun:_pthread_free_pthread_onstack
215}
bart6e058362009-07-25 14:03:24 +0000216{
217 drd-darwin-pthread-mach-thread-np
218 drd:ConflictingAccess
219 ...
220 fun:pthread_mach_thread_np
221}
222{
223 drd-darwin-pthread-key-create
224 drd:ConflictingAccess
225 fun:pthread_key_create
226}
227
228
229#
230# Suppression patterns for libobjc.
231#
232
bartd7de9892009-07-26 13:52:35 +0000233# It looks like the implementation of objc_msgSend uses another means than the
234# POSIX threads library for locking. More information about messaging and
235# objc_msgSend can be found here:
236# http://devworld.apple.com/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtHowMessagingWorks.html
237#
238
bart6e058362009-07-25 14:03:24 +0000239{
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 ...
bart6e058362009-07-25 14:03:24 +0000243 fun:objc_msgSend
244}
245{
bartd7de9892009-07-26 13:52:35 +0000246 drd-darwin-objc-msgSend
bart6e058362009-07-25 14:03:24 +0000247 drd:ConflictingAccess
bartd7de9892009-07-26 13:52:35 +0000248 ...
249 fun:objc_sync_enter
bart6e058362009-07-25 14:03:24 +0000250}
251
252
253#
254# Suppression patterns for CoreFoundation.framework.
255#
256
bartd7de9892009-07-26 13:52:35 +0000257# Suppressions for NSObject methods. For more information about the NSObject
258# class, see also
259# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/Reference/Reference.html
bart6e058362009-07-25 14:03:24 +0000260{
bartd7de9892009-07-26 13:52:35 +0000261 drd-darwin-NSObject-release
bart6e058362009-07-25 14:03:24 +0000262 drd:ConflictingAccess
263 ...
264 fun:-[NSObject release]
265}
266{
bartd7de9892009-07-26 13:52:35 +0000267 drd-darwin-NSObject-autorelease-1
bart6e058362009-07-25 14:03:24 +0000268 drd:ConflictingAccess
269 ...
270 fun:-[NSObject(NSObject) autorelease]
271}
272{
bartd7de9892009-07-26 13:52:35 +0000273 drd-darwin-NSObject-autorelease-2
274 drd:ConflictingAccess
275 fun:__NSAutoreleaseObject
276}
277{
278 drd-darwin-NSObject-NSDeallocateObject
279 drd:ConflictingAccess
280 fun:_internal_object_dispose
281 fun:NSDeallocateObject
282}
283{
284 drd-darwin-NSObject-retain
bart6e058362009-07-25 14:03:24 +0000285 drd:ConflictingAccess
286 ...
287 fun:-[NSObject retain]
288}
289{
bartd7de9892009-07-26 13:52:35 +0000290 drd-darwin-NSObject-retainCount
291 drd:ConflictingAccess
292 ...
293 fun:-[NSObject retainCount]
294}
295{
296 drd-darwin-NSObject-NSDelayedPerforming-1
297 drd:ConflictingAccess
298 ...
299 fun:+[NSObject(NSDelayedPerforming) cancelPreviousPerformRequestsWithTarget:selector:object:]
300}
301{
302 drd-darwin-NSObject-NSDelayedPerforming-2
303 drd:ConflictingAccess
304 ...
305 fun:-[NSObject(NSDelayedPerforming) performSelector:withObject:afterDelay:]
306}
307{
308 drd-darwin-NSObject-NSDelayedPerforming-3
309 drd:ConflictingAccess
310 ...
311 fun:-[NSObject(NSDelayedPerforming) performSelector:withObject:afterDelay:inModes:]
312}
313{
314 drd-darwin-NSObject-NSDelayedPerforming-4
315 drd:ConflictingAccess
316 ...
317 fun:-[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:]
318}
319{
320 drd-darwin-NSObject-NSDelayedPerforming-5
321 drd:ConflictingAccess
322 ...
323 fun:-[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:]
324}
325
326# Suppressions for methods of the NSThread class.
327{
328 drd-NSThread-nq
329 drd:ConflictingAccess
330 ...
331 fun:-[NSThread _nq:]
332}
333
334# Suppressions for methods of the NSLock class. See also
335# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSLock_Class/Reference/Reference.html
336{
337 drd-darwin-NSLock-lock
338 drd:ConflictingAccess
339 fun:-[NSLock lock]
340}
341{
342 drd-darwin-NSLock-unlock
343 drd:ConflictingAccess
344 fun:-[NSLock unlock]
345}
346# Suppressions for NSCondition methods.
347{
348 drd-darwin-NSConditionLock-lock
349 drd:ConflictingAccess
350 fun:-[NSCondition lock]
351}
352# Suppressions for NSConditionLock methods.
353{
354 drd-darwin-NSConditionLock-lockWhenCondition:beforeDate:
355 drd:ConflictingAccess
356 fun:-[NSConditionLock lockWhenCondition:beforeDate:]
357}
358
359
360# NSExtraRefCount returns the specified object's reference count, and
361# NSDecrementExtraRefCountWasZero decrements the specified object's reference
362# count.
363# See also http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Functions/Reference/reference.html
364{
365 drd-darwin-NSExtraRefCount
bart6e058362009-07-25 14:03:24 +0000366 drd:ConflictingAccess
367 ...
368 fun:NSExtraRefCount
369}
370{
bartd7de9892009-07-26 13:52:35 +0000371 drd-darwin-NSDecrementExtraRefCountWasZero
372 drd:ConflictingAccess
373 ...
374 fun:NSDecrementExtraRefCountWasZero
375}
376# For more information about key-value observing, see also the NSKeyValueObserving Protocol Reference:
377# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Protocols/NSKeyValueObserving_Protocol/Reference/Reference.html
378{
379 drd-darwin-NSKVONotify
bart6e058362009-07-25 14:03:24 +0000380 drd:ConflictingAccess
381 ...
382 fun:NSKVONotify
383}
384{
bartd7de9892009-07-26 13:52:35 +0000385 drd-darwin-NSKVONotifyingEnableForInfoAndKey
bart6e058362009-07-25 14:03:24 +0000386 drd:ConflictingAccess
387 ...
bartd7de9892009-07-26 13:52:35 +0000388 fun:_NSKVONotifyingEnableForInfoAndKey
389}
390# From the NSRunLoop class reference:
391# Warning: The NSRunLoop class is generally not considered to be thread-safe
392# and its methods should only be called within the context of the current
393# thread. You should never try to call the methods of an NSRunLoop object
394# running in a different thread, as doing so might cause unexpected results.
395# See also the NSRunLoop Class Reference:
396# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSRunLoop_Class/Reference/Reference.html
397# {
398# drd-darwin-CFRunLoop*
399# drd:ConflictingAccess
400# ...
401# fun:CFRunLoop*
402# }
403# See also the CFBag reference:
404# http://developer.apple.com/documentation/CoreFoundation/Reference/CFBagRef/Reference/reference.html
405# {
406# drd-darwin-CFBag*
407# drd:ConflictingAccess
408# fun:CFBag*
409# }
410
411# Suppression patterns for the memory allocation functions in WTF.
412{
413 drd-WTF::fastCalloc
414 drd:ConflictingAccess
415 ...
416 fun:_ZN3WTF10fastCallocEmm
bart6e058362009-07-25 14:03:24 +0000417}
418{
bartd7de9892009-07-26 13:52:35 +0000419 drd-WTF::fastMalloc
bart6e058362009-07-25 14:03:24 +0000420 drd:ConflictingAccess
bartd7de9892009-07-26 13:52:35 +0000421 ...
422 fun:_ZN3WTF10fastMallocEm
423}
424{
425 drd-WTF::fastFree
426 drd:ConflictingAccess
427 ...
428 fun:_ZN3WTF8fastFreeEPv
bart6e058362009-07-25 14:03:24 +0000429}
430
bartd7de9892009-07-26 13:52:35 +0000431# Suppression patterns for the string manipulation functions in WebCore.
bart6e058362009-07-25 14:03:24 +0000432{
bartd7de9892009-07-26 13:52:35 +0000433 drd-WebCore::StringImpl::init
bart6e058362009-07-25 14:03:24 +0000434 drd:ConflictingAccess
bartd7de9892009-07-26 13:52:35 +0000435 ...
436 fun:_ZN7WebCore10StringImpl4initEPKcj
437}
438{
439 drd-WebCore::StringImpl::append
440 drd:ConflictingAccess
441 ...
442 fun:_ZN7WebCore10StringImpl6appendEPKtj
443}
444{
445 drd-WebCore::CString::init
446 drd:ConflictingAccess
447 ...
448 fun:_ZN7WebCore7CString4initEPKcj
449}
450
451# Suppression patterns for the text encoding functions in WebCore.
452{
453 drd-WebCore::WebCore::TextCodec::~TextCodec()
454 drd:ConflictingAccess
455 fun:_ZN7WebCore9TextCodecD2Ev
456}
457{
458 drd-WebCore::TextCodecICU::TextCodecICU
459 drd:ConflictingAccess
460 fun:_ZN7WebCore12TextCodecICUC2ERKNS_12TextEncodingE
461}
462{
463 drd-WebCore::TextCodecICU::~TextCodecICU
464 drd:ConflictingAccess
465 fun:_ZN7WebCore12TextCodecICUD0Ev
bart6e058362009-07-25 14:03:24 +0000466}