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