blob: ea301431b0624438a50f65fda0c636a6edf9b98b [file] [log] [blame]
njnea2d6fd2010-07-01 00:20:20 +00001
2# DRD suppressions for Darwin 9.x / Mac OS X 10.5 Leopard
3
bart6ccda142009-07-23 07:37:32 +00004#
bart6e058362009-07-25 14:03:24 +00005# Suppression patterns for dyld, the dynamic loader.
bart6ccda142009-07-23 07:37:32 +00006#
7
8{
bartd7de9892009-07-26 13:52:35 +00009 drd-darwin-dyld-register-func-for-add-image
bart6ccda142009-07-23 07:37:32 +000010 drd:MutexErr
11 fun:pthread_mutex_unlock
12 fun:_dyld_register_func_for_add_image
13 fun:__keymgr_initializer
14 fun:libSystem_initializer
bart6ccda142009-07-23 07:37:32 +000015}
16{
bartd7de9892009-07-26 13:52:35 +000017 drd-darwin-dyld-register-func-for-remove-image
bart6ccda142009-07-23 07:37:32 +000018 drd:MutexErr
19 fun:pthread_mutex_unlock
20 fun:_dyld_register_func_for_remove_image
21 fun:__keymgr_initializer
22 fun:libSystem_initializer
bart6ccda142009-07-23 07:37:32 +000023}
24{
bartd7de9892009-07-26 13:52:35 +000025 drd-darwin-dyld-GlobalLockInitialize
bart6ccda142009-07-23 07:37:32 +000026 drd:MutexErr
27 fun:pthread_mutex_init
28 fun:_Z24dyldGlobalLockInitializev
29 fun:_dyld_initializer
bart6ccda142009-07-23 07:37:32 +000030}
31{
bartd7de9892009-07-26 13:52:35 +000032 drd-darwin-dyld-bindLazySymbol
bart6ccda142009-07-23 07:37:32 +000033 drd:ConflictingAccess
34 ...
bart6ccda142009-07-23 07:37:32 +000035 fun:_ZN4dyld14bindLazySymbolEPK11mach_headerPm
36 fun:stub_binding_helper_interface2
37}
38{
bartd7de9892009-07-26 13:52:35 +000039 drd-darwin-dyld-addImage
40 drd:ConflictingAccess
41 fun:_ZN4dyld8addImageEP11ImageLoader
42}
43{
44 dyld-ImageLoader::link
45 drd:ConflictingAccess
46 ...
47 fun:_ZN4dyld18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE
48 fun:_ZN11ImageLoader4linkERKNS_11LinkContextEbbRKNS_10RPathChainE
49 fun:_ZN4dyld4linkEP11ImageLoaderbRKNS0_10RPathChainE
50}
51{
52 drd-darwin-dyld-ImageLoaderMachO::resolveUndefined
bart6ccda142009-07-23 07:37:32 +000053 drd:ConflictingAccess
bart6e058362009-07-25 14:03:24 +000054 ...
bart6ccda142009-07-23 07:37:32 +000055 fun:_ZN16ImageLoaderMachO16resolveUndefinedERKN11ImageLoader11LinkContextEPK11macho_nlistbPPKS0_
bart6e058362009-07-25 14:03:24 +000056}
57{
bartd7de9892009-07-26 13:52:35 +000058 drd-darwin-dyld-ImageLoaderMachO::findExportedSymbol
bart6e058362009-07-25 14:03:24 +000059 drd:ConflictingAccess
60 fun:_ZNK16ImageLoaderMachO18findExportedSymbolEPKcPKvbPPK11ImageLoader
61 fun:_ZNK11ImageLoader41findExportedSymbolInDependentImagesExceptEPKcPPKS_RS4_S4_S4_
62 fun:_ZNK11ImageLoader42findExportedSymbolInImageOrDependentImagesEPKcRKNS_11LinkContextEPPKS_
63 fun:dlsym
bart6ccda142009-07-23 07:37:32 +000064}
65
66
67#
bart6e058362009-07-25 14:03:24 +000068# Suppression patterns for libc, Darwin's C library.
bart6ccda142009-07-23 07:37:32 +000069#
70
71{
72 drd-darwin-libc-cerror
73 drd:ConflictingAccess
74 ...
75 fun:cerror
76}
77{
bart6ccda142009-07-23 07:37:32 +000078 drd-darwin-libc-rand
79 drd:ConflictingAccess
80 fun:do_rand
81}
82{
bart6ccda142009-07-23 07:37:32 +000083 drd-darwin-libc-vfprintf-1
84 drd:ConflictingAccess
85 fun:vfprintf_l
86}
87{
88 drd-darwin-libc-vfprintf-2
89 drd:ConflictingAccess
90 fun:__vfprintf
91}
92{
93 drd-darwin-libc-localeconv
94 drd:ConflictingAccess
95 fun:localeconv_l
96}
97{
bartc1535ed2009-07-23 10:50:08 +000098 drd-darwin-libc-fwrite
99 drd:ConflictingAccess
100 ...
101 fun:fwrite$UNIX2003
102}
103{
104 drd-darwin-cxa-guard-acquire
105 drd:ConflictingAccess
106 obj:*
107 fun:__cxa_current_exception_type
108 fun:__cxa_guard_acquire
109}
110{
111 drd-darwin-cxa-guard-release
112 drd:ConflictingAccess
113 fun:__cxa_guard_release
114}
115{
116 drd-darwin-cxa-finalize
117 drd:MutexErr
118 fun:pthread_mutex_destroy
119 fun:__tcf_115
120 fun:__cxa_finalize
121 fun:exit
122}
bart6e058362009-07-25 14:03:24 +0000123{
124 drd-darwin-atexit-register
125 drd:ConflictingAccess
126 fun:atexit_register
127}
128{
129 drd-darwin-opendir
130 drd:ConflictingAccess
131 fun:telldir$UNIX2003
132 fun:__opendir2$UNIX2003
133 fun:opendir$UNIX2003
134}
135{
136 drd-darwin-readdir
137 drd:ConflictingAccess
138 fun:readdir
139}
140{
141 drd-darwin-closedir
142 drd:ConflictingAccess
143 fun:closedir$UNIX2003
144}
145{
146 drd:darwin-ptrace
147 drd:ConflictingAccess
148 fun:ptrace
149}
bart6ccda142009-07-23 07:37:32 +0000150
151
152#
bart6e058362009-07-25 14:03:24 +0000153# Suppression patterns for libpthread, Darwin's POSIX threads implementation.
bart6ccda142009-07-23 07:37:32 +0000154#
155
156{
157 drd-darwin-pthread-create-1
158 drd:ConflictingAccess
159 obj:*
160 fun:thread_start
161}
162{
163 drd-darwin-pthread-create-2
164 drd:ConflictingAccess
165 ...
166 fun:pthread_create*
167}
168{
169 drd-darwin-pthread-join-1
170 drd:ConflictingAccess
171 ...
172 fun:pthread_join$UNIX2003
173}
174{
bart6ccda142009-07-23 07:37:32 +0000175 drd-darwin-pthread-exit
176 drd:ConflictingAccess
177 ...
178 fun:_pthread_exit
179}
180{
181 drd-darwin-pthread-find-thread
182 drd:ConflictingAccess
183 fun:_pthread_find_thread
184}
185{
186 drd-darwin-pthread-spin-unlock
187 drd:ConflictingAccess
188 fun:spin_unlock
189}
190{
191 drd-darwin-pthread-testcancel
192 drd:ConflictingAccess
193 fun:_pthread_testcancel
194}
195{
196 drd-darwin-pthread-detach
bartdf2a1f72009-07-27 14:48:06 +0000197 drd:ConflictingAccess
198 ...
199 fun:pthread_detach
200}
201{
202 drd-darwin-pthread-detach
bart6ccda142009-07-23 07:37:32 +0000203 drd:CondRaceErr
204 ...
205 fun:pthread_detach
206}
207{
208 drd-darwin-pthread-kill
209 drd:ConflictingAccess
210 ...
211 fun:pthread_kill
212}
213{
214 drd-darwin-pthread-free-pthread-onstack
215 drd:ConflictingAccess
216 fun:mig_dealloc_reply_port
217 fun:_pthread_free_pthread_onstack
218}
bart6e058362009-07-25 14:03:24 +0000219{
220 drd-darwin-pthread-mach-thread-np
221 drd:ConflictingAccess
222 ...
223 fun:pthread_mach_thread_np
224}
225{
226 drd-darwin-pthread-key-create
227 drd:ConflictingAccess
228 fun:pthread_key_create
229}
230
231
232#
233# Suppression patterns for libobjc.
234#
235
bartd7de9892009-07-26 13:52:35 +0000236# It looks like the implementation of objc_msgSend uses another means than the
237# POSIX threads library for locking. More information about messaging and
238# objc_msgSend can be found here:
239# http://devworld.apple.com/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtHowMessagingWorks.html
240#
241
bart6e058362009-07-25 14:03:24 +0000242{
bartd7de9892009-07-26 13:52:35 +0000243 drd-darwin-objc-msgSend
bart6e058362009-07-25 14:03:24 +0000244 drd:ConflictingAccess
bartd7de9892009-07-26 13:52:35 +0000245 ...
bart6e058362009-07-25 14:03:24 +0000246 fun:objc_msgSend
247}
248{
bartd7de9892009-07-26 13:52:35 +0000249 drd-darwin-objc-msgSend
bart6e058362009-07-25 14:03:24 +0000250 drd:ConflictingAccess
bartd7de9892009-07-26 13:52:35 +0000251 ...
252 fun:objc_sync_enter
bart6e058362009-07-25 14:03:24 +0000253}
254
255
256#
257# Suppression patterns for CoreFoundation.framework.
258#
259
bartd7de9892009-07-26 13:52:35 +0000260# Suppressions for NSObject methods. For more information about the NSObject
261# class, see also
262# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/Reference/Reference.html
bart6e058362009-07-25 14:03:24 +0000263{
bartd7de9892009-07-26 13:52:35 +0000264 drd-darwin-NSObject-release
bart6e058362009-07-25 14:03:24 +0000265 drd:ConflictingAccess
266 ...
267 fun:-[NSObject release]
268}
269{
bartd7de9892009-07-26 13:52:35 +0000270 drd-darwin-NSObject-autorelease-1
bart6e058362009-07-25 14:03:24 +0000271 drd:ConflictingAccess
272 ...
273 fun:-[NSObject(NSObject) autorelease]
274}
275{
bartd7de9892009-07-26 13:52:35 +0000276 drd-darwin-NSObject-autorelease-2
277 drd:ConflictingAccess
278 fun:__NSAutoreleaseObject
279}
280{
281 drd-darwin-NSObject-NSDeallocateObject
282 drd:ConflictingAccess
283 fun:_internal_object_dispose
284 fun:NSDeallocateObject
285}
286{
287 drd-darwin-NSObject-retain
bart6e058362009-07-25 14:03:24 +0000288 drd:ConflictingAccess
289 ...
290 fun:-[NSObject retain]
291}
292{
bartd7de9892009-07-26 13:52:35 +0000293 drd-darwin-NSObject-retainCount
294 drd:ConflictingAccess
295 ...
296 fun:-[NSObject retainCount]
297}
298{
299 drd-darwin-NSObject-NSDelayedPerforming-1
300 drd:ConflictingAccess
301 ...
302 fun:+[NSObject(NSDelayedPerforming) cancelPreviousPerformRequestsWithTarget:selector:object:]
303}
304{
305 drd-darwin-NSObject-NSDelayedPerforming-2
306 drd:ConflictingAccess
307 ...
308 fun:-[NSObject(NSDelayedPerforming) performSelector:withObject:afterDelay:]
309}
310{
311 drd-darwin-NSObject-NSDelayedPerforming-3
312 drd:ConflictingAccess
313 ...
314 fun:-[NSObject(NSDelayedPerforming) performSelector:withObject:afterDelay:inModes:]
315}
316{
317 drd-darwin-NSObject-NSDelayedPerforming-4
318 drd:ConflictingAccess
319 ...
320 fun:-[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:]
321}
322{
323 drd-darwin-NSObject-NSDelayedPerforming-5
324 drd:ConflictingAccess
325 ...
326 fun:-[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:]
327}
328
329# Suppressions for methods of the NSThread class.
330{
331 drd-NSThread-nq
332 drd:ConflictingAccess
333 ...
334 fun:-[NSThread _nq:]
335}
336
337# Suppressions for methods of the NSLock class. See also
338# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSLock_Class/Reference/Reference.html
339{
340 drd-darwin-NSLock-lock
341 drd:ConflictingAccess
342 fun:-[NSLock lock]
343}
344{
345 drd-darwin-NSLock-unlock
346 drd:ConflictingAccess
347 fun:-[NSLock unlock]
348}
349# Suppressions for NSCondition methods.
350{
351 drd-darwin-NSConditionLock-lock
352 drd:ConflictingAccess
353 fun:-[NSCondition lock]
354}
355# Suppressions for NSConditionLock methods.
356{
357 drd-darwin-NSConditionLock-lockWhenCondition:beforeDate:
358 drd:ConflictingAccess
359 fun:-[NSConditionLock lockWhenCondition:beforeDate:]
360}
361
362
363# NSExtraRefCount returns the specified object's reference count, and
364# NSDecrementExtraRefCountWasZero decrements the specified object's reference
365# count.
366# See also http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Functions/Reference/reference.html
367{
368 drd-darwin-NSExtraRefCount
bart6e058362009-07-25 14:03:24 +0000369 drd:ConflictingAccess
370 ...
371 fun:NSExtraRefCount
372}
373{
bartd7de9892009-07-26 13:52:35 +0000374 drd-darwin-NSDecrementExtraRefCountWasZero
375 drd:ConflictingAccess
376 ...
377 fun:NSDecrementExtraRefCountWasZero
378}
379# For more information about key-value observing, see also the NSKeyValueObserving Protocol Reference:
380# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Protocols/NSKeyValueObserving_Protocol/Reference/Reference.html
381{
382 drd-darwin-NSKVONotify
bart6e058362009-07-25 14:03:24 +0000383 drd:ConflictingAccess
384 ...
385 fun:NSKVONotify
386}
387{
bartd7de9892009-07-26 13:52:35 +0000388 drd-darwin-NSKVONotifyingEnableForInfoAndKey
bart6e058362009-07-25 14:03:24 +0000389 drd:ConflictingAccess
390 ...
bartd7de9892009-07-26 13:52:35 +0000391 fun:_NSKVONotifyingEnableForInfoAndKey
392}
393# From the NSRunLoop class reference:
394# Warning: The NSRunLoop class is generally not considered to be thread-safe
395# and its methods should only be called within the context of the current
396# thread. You should never try to call the methods of an NSRunLoop object
397# running in a different thread, as doing so might cause unexpected results.
398# See also the NSRunLoop Class Reference:
399# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSRunLoop_Class/Reference/Reference.html
400# {
401# drd-darwin-CFRunLoop*
402# drd:ConflictingAccess
403# ...
404# fun:CFRunLoop*
405# }
406# See also the CFBag reference:
407# http://developer.apple.com/documentation/CoreFoundation/Reference/CFBagRef/Reference/reference.html
408# {
409# drd-darwin-CFBag*
410# drd:ConflictingAccess
411# fun:CFBag*
412# }
413
414# Suppression patterns for the memory allocation functions in WTF.
415{
416 drd-WTF::fastCalloc
417 drd:ConflictingAccess
418 ...
419 fun:_ZN3WTF10fastCallocEmm
bart6e058362009-07-25 14:03:24 +0000420}
421{
bartd7de9892009-07-26 13:52:35 +0000422 drd-WTF::fastMalloc
bart6e058362009-07-25 14:03:24 +0000423 drd:ConflictingAccess
bartd7de9892009-07-26 13:52:35 +0000424 ...
425 fun:_ZN3WTF10fastMallocEm
426}
427{
428 drd-WTF::fastFree
429 drd:ConflictingAccess
430 ...
431 fun:_ZN3WTF8fastFreeEPv
bart6e058362009-07-25 14:03:24 +0000432}
433
bartd7de9892009-07-26 13:52:35 +0000434# Suppression patterns for the string manipulation functions in WebCore.
bart6e058362009-07-25 14:03:24 +0000435{
bartd7de9892009-07-26 13:52:35 +0000436 drd-WebCore::StringImpl::init
bart6e058362009-07-25 14:03:24 +0000437 drd:ConflictingAccess
bartd7de9892009-07-26 13:52:35 +0000438 ...
439 fun:_ZN7WebCore10StringImpl4initEPKcj
440}
441{
442 drd-WebCore::StringImpl::append
443 drd:ConflictingAccess
444 ...
445 fun:_ZN7WebCore10StringImpl6appendEPKtj
446}
447{
448 drd-WebCore::CString::init
449 drd:ConflictingAccess
450 ...
451 fun:_ZN7WebCore7CString4initEPKcj
452}
453
454# Suppression patterns for the text encoding functions in WebCore.
455{
456 drd-WebCore::WebCore::TextCodec::~TextCodec()
457 drd:ConflictingAccess
458 fun:_ZN7WebCore9TextCodecD2Ev
459}
460{
461 drd-WebCore::TextCodecICU::TextCodecICU
462 drd:ConflictingAccess
463 fun:_ZN7WebCore12TextCodecICUC2ERKNS_12TextEncodingE
464}
465{
466 drd-WebCore::TextCodecICU::~TextCodecICU
467 drd:ConflictingAccess
468 fun:_ZN7WebCore12TextCodecICUD0Ev
bart6e058362009-07-25 14:03:24 +0000469}