1 2# DRD suppressions for Darwin 9.x / Mac OS X 10.5 Leopard 3 4# 5# Suppression patterns for dyld, the dynamic loader. 6# 7 8{ 9 drd-darwin-dyld-register-func-for-add-image 10 drd:MutexErr 11 fun:pthread_mutex_unlock 12 fun:_dyld_register_func_for_add_image 13 fun:__keymgr_initializer 14 fun:libSystem_initializer 15} 16{ 17 drd-darwin-dyld-register-func-for-remove-image 18 drd:MutexErr 19 fun:pthread_mutex_unlock 20 fun:_dyld_register_func_for_remove_image 21 fun:__keymgr_initializer 22 fun:libSystem_initializer 23} 24{ 25 drd-darwin-dyld-GlobalLockInitialize 26 drd:MutexErr 27 fun:pthread_mutex_init 28 fun:_Z24dyldGlobalLockInitializev 29 fun:_dyld_initializer 30} 31{ 32 drd-darwin-dyld-bindLazySymbol 33 drd:ConflictingAccess 34 ... 35 fun:_ZN4dyld14bindLazySymbolEPK11mach_headerPm 36 fun:stub_binding_helper_interface2 37} 38{ 39 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 53 drd:ConflictingAccess 54 ... 55 fun:_ZN16ImageLoaderMachO16resolveUndefinedERKN11ImageLoader11LinkContextEPK11macho_nlistbPPKS0_ 56} 57{ 58 drd-darwin-dyld-ImageLoaderMachO::findExportedSymbol 59 drd:ConflictingAccess 60 fun:_ZNK16ImageLoaderMachO18findExportedSymbolEPKcPKvbPPK11ImageLoader 61 fun:_ZNK11ImageLoader41findExportedSymbolInDependentImagesExceptEPKcPPKS_RS4_S4_S4_ 62 fun:_ZNK11ImageLoader42findExportedSymbolInImageOrDependentImagesEPKcRKNS_11LinkContextEPPKS_ 63 fun:dlsym 64} 65 66 67# 68# Suppression patterns for libc, Darwin's C library. 69# 70 71{ 72 drd-darwin-libc-cerror 73 drd:ConflictingAccess 74 ... 75 fun:cerror 76} 77{ 78 drd-darwin-libc-rand 79 drd:ConflictingAccess 80 fun:do_rand 81} 82{ 83 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{ 98 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} 123{ 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} 150 151 152# 153# Suppression patterns for libpthread, Darwin's POSIX threads implementation. 154# 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{ 175 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 197 drd:ConflictingAccess 198 ... 199 fun:pthread_detach 200} 201{ 202 drd-darwin-pthread-detach 203 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} 219{ 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 236# 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 242{ 243 drd-darwin-objc-msgSend 244 drd:ConflictingAccess 245 ... 246 fun:objc_msgSend 247} 248{ 249 drd-darwin-objc-msgSend 250 drd:ConflictingAccess 251 ... 252 fun:objc_sync_enter 253} 254 255 256# 257# Suppression patterns for CoreFoundation.framework. 258# 259 260# 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 263{ 264 drd-darwin-NSObject-release 265 drd:ConflictingAccess 266 ... 267 fun:-[NSObject release] 268} 269{ 270 drd-darwin-NSObject-autorelease-1 271 drd:ConflictingAccess 272 ... 273 fun:-[NSObject(NSObject) autorelease] 274} 275{ 276 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 288 drd:ConflictingAccess 289 ... 290 fun:-[NSObject retain] 291} 292{ 293 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 369 drd:ConflictingAccess 370 ... 371 fun:NSExtraRefCount 372} 373{ 374 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 383 drd:ConflictingAccess 384 ... 385 fun:NSKVONotify 386} 387{ 388 drd-darwin-NSKVONotifyingEnableForInfoAndKey 389 drd:ConflictingAccess 390 ... 391 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 420} 421{ 422 drd-WTF::fastMalloc 423 drd:ConflictingAccess 424 ... 425 fun:_ZN3WTF10fastMallocEm 426} 427{ 428 drd-WTF::fastFree 429 drd:ConflictingAccess 430 ... 431 fun:_ZN3WTF8fastFreeEPv 432} 433 434# Suppression patterns for the string manipulation functions in WebCore. 435{ 436 drd-WebCore::StringImpl::init 437 drd:ConflictingAccess 438 ... 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 469} 470