Home | History | Annotate | Download | only in main
      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