
# Suppressions for Darwin 12.x / Mac OS X 10.8 Mountain Lion

# ZLib stuff.  How come this wasn't necessary in 10.6 ?
{
   OSX108:zlib-C
   Memcheck:Cond
   obj:/usr/lib/libz.*dylib
   obj:/usr/lib/libz.*dylib
}
{
   OSX108:zlib-8
   Memcheck:Value8
   obj:/usr/lib/libz.*dylib
   obj:/usr/lib/libz.*dylib
}

############################
## Possibly all to do with borked/incomplete 10.8 syscall wrappers
## Consider all of these as a temporary kludge.  It would be much
## better to fix the wrappers correctly (iow, actually implement them).

{
   OSX108:CoreFoundation-1
   Memcheck:Value8
   obj:*CoreFoundation.framework/Versions/A/CoreFoundation
   obj:*CoreFoundation.framework/Versions/A/CoreFoundation
   obj:*CoreFoundation.framework/Versions/A/CoreFoundation
}

{
   OSX108:CoreFoundation-2
   Memcheck:Cond
   obj:*CoreFoundation.framework/Versions/A/CoreFoundation
   obj:*CoreFoundation.framework/Versions/A/CoreFoundation
   obj:*CoreFoundation.framework/Versions/A/CoreFoundation
}

{
   OSX108:CoreGraphics-1
   Memcheck:Cond
   obj:*CoreGraphics.framework/Versions/A/CoreGraphics
   obj:*CoreGraphics.framework/Versions/A/CoreGraphics
   obj:*CoreGraphics.framework/Versions/A/CoreGraphics
}

# Use of uninitialised value of size 8
#    at 0x39CC164: aes_encrypt_xmm_no_save
{
   OSX108:aes_encrypt_xmm_no_save
   Memcheck:Value8
   fun:aes_encrypt_xmm_no_save
}

{
   OSX108:dyld-1
   Memcheck:Value8
   obj:/usr/lib/dyld
   obj:/usr/lib/dyld
   obj:/usr/lib/dyld
}

{
   OSX108:dyld-2
   Memcheck:Cond
   obj:/usr/lib/dyld
   obj:/usr/lib/dyld
   obj:/usr/lib/dyld
}

{
   OSX108:libxpc-1
   Memcheck:Cond
   obj:/usr/lib/system/libxpc.dylib
   obj:/usr/lib/system/libxpc.dylib
   obj:/usr/lib/system/libxpc.dylib
   obj:/usr/lib/system/libxpc.dylib
}

{
   OSX108:libxpc-2
   Memcheck:Value8
   obj:/usr/lib/system/libxpc.dylib
   obj:/usr/lib/system/libxpc.dylib
   obj:/usr/lib/system/libxpc.dylib
   obj:/usr/lib/system/libxpc.dylib
}

{
   OSX108:libxpc-3
   Memcheck:Cond
   fun:malloc
   obj:/usr/lib/system/libxpc.dylib
   obj:/usr/lib/system/libxpc.dylib
   obj:/usr/lib/system/libxpc.dylib
}

{
   OSX108:libdispatch-1
   Memcheck:Value8
   obj:/usr/lib/system/libdispatch.dylib
   obj:/usr/lib/system/libdispatch.dylib
   obj:/usr/lib/system/libdispatch.dylib
   obj:/usr/lib/system/libdispatch.dylib
}

{
   OSX108:ColorSync-1
   Memcheck:Cond
   obj:*Frameworks/ColorSync.framework/Versions/A/ColorSync
   obj:*Frameworks/ColorSync.framework/Versions/A/ColorSync
   obj:*Frameworks/ColorSync.framework/Versions/A/ColorSync
   obj:*Frameworks/ColorSync.framework/Versions/A/ColorSync
}

{
   OSX108:ColorSync-2
   Memcheck:Value8
   obj:*Frameworks/ColorSync.framework/Versions/A/ColorSync
   obj:*Frameworks/ColorSync.framework/Versions/A/ColorSync
   obj:*Frameworks/ColorSync.framework/Versions/A/ColorSync
   obj:*Frameworks/ColorSync.framework/Versions/A/ColorSync
}

{
   OSX108:mach_msg/mach_msg_trap
   Memcheck:Param
   mach_msg("rcv_name")
   fun:mach_msg_trap
}

{
   OSX108:my_io_execute_passive_block/libdispatch
   Memcheck:Cond
   fun:my_io_execute_passive_block
   obj:/usr/lib/system/libdispatch.dylib
   obj:/usr/lib/system/libdispatch.dylib
}

{
   OSX108:CFRunLoopAddSource/AppKit
   Memcheck:Cond
   fun:CFRunLoopAddSource
   obj:*Frameworks/AppKit.framework/Versions/C/AppKit
   obj:*Frameworks/AppKit.framework/Versions/C/AppKit
}

{
   OSX108:CoreFoundation/HIToolbox/HIToolbox
   Memcheck:Cond
   obj:*CoreFoundation.framework/Versions/A/CoreFoundation
   obj:*HIToolbox.framework/Versions/A/HIToolbox
   obj:*HIToolbox.framework/Versions/A/HIToolbox
}

{
   OSX108:libsystem_kernel/CoreGraphics-1
   Memcheck:Cond
   obj:/usr/lib/system/libsystem_kernel.dylib
   obj:*CoreGraphics.framework/Versions/A/CoreGraphics
   obj:*CoreGraphics.framework/Versions/A/CoreGraphics
   obj:*CoreGraphics.framework/Versions/A/CoreGraphics
}

{
   OSX108:libsystem_kernel/CoreGraphics-2
   Memcheck:Param
   msg->desc.port.name
   obj:/usr/lib/system/libsystem_kernel.dylib
   obj:*CoreGraphics.framework/Versions/A/CoreGraphics
   obj:*CoreGraphics.framework/Versions/A/CoreGraphics
   obj:*CoreGraphics.framework/Versions/A/CoreGraphics
}

{
   OSX108:libsystem_kernel/CoreFoundation/CoreFoundation/LaunchServices
   Memcheck:Cond
   obj:*CoreFoundation.framework/Versions/A/CoreFoundation
   obj:*CoreFoundation.framework/Versions/A/CoreFoundation
   obj:*LaunchServices.framework/Versions/A/LaunchServices
}

{
   OSX108:CoreFoundation/AE/AE
   Memcheck:Cond
   obj:*CoreFoundation.framework/Versions/A/CoreFoundation
   obj:*AE.framework/Versions/A/AE
   obj:*AE.framework/Versions/A/AE
}

{
   OSX108:CoreGraphics/CoreGraphics/CoreGraphics
   Memcheck:Param
   msg->desc.port.name
   obj:*CoreGraphics.framework/Versions/A/CoreGraphics
   obj:*CoreGraphics.framework/Versions/A/CoreGraphics
   obj:*CoreGraphics.framework/Versions/A/CoreGraphics
}

{
   OSX108:CoreFoundation/Foundation/AppKit
   Memcheck:Cond
   obj:*CoreFoundation.framework/Versions/A/CoreFoundation
   obj:*Foundation.framework/Versions/C/Foundation
   obj:*Frameworks/AppKit.framework/Versions/C/AppKit
}

{
   OSX108:CoreFoundation/CoreFoundation/HIToolbox
   Memcheck:Cond
   obj:*CoreFoundation.framework/Versions/A/CoreFoundation
   obj:*CoreFoundation.framework/Versions/A/CoreFoundation
   obj:*HIToolbox.framework/Versions/A/HIToolbox
}

{
   OSX108:HIServices/HIToolbox/HIToolbox
   Memcheck:Cond
   obj:*HIServices.framework/Versions/A/HIServices
   obj:*HIToolbox.framework/Versions/A/HIToolbox
   obj:*HIToolbox.framework/Versions/A/HIToolbox
}

{
   OSX108:AppKit-1
   Memcheck:Cond
   obj:*AppKit.framework/Versions/C/AppKit
   obj:*AppKit.framework/Versions/C/AppKit
   obj:*AppKit.framework/Versions/C/AppKit
}

{
   OSX108:32bit:_libxpc_initializer
   Memcheck:Cond
   fun:_libxpc_initializer
   fun:libSystem_initializer
   fun:*ImageLoaderMachO*doModInitFunctions*
}

# See https://bugs.kde.org/show_bug.cgi?id=196528
{
   macos-__pthread_rwlock_init-see-our-bug-196528
   Memcheck:Cond
   fun:pthread_rwlock_init
}

#########################################################
## Leaks (apparently) in even hello-world style programs

{
   OSX108:leak-1
   Memcheck:Leak
   match-leak-kinds: definite
   fun:malloc_zone_malloc
   fun:_ZN4objc8DenseMapIP11objc_objectmL*
   fun:arr_init
}

{
   OSX108:leak-2
   Memcheck:Leak
   fun:malloc_zone_malloc
   fun:*NX*Map*
   fun:*NX*Map*
}

{
   OSX108:leak-3
   Memcheck:Leak
   fun:malloc_zone_malloc
   fun:*NX*Map*
   fun:*image*
}

{
   OSX108:leak-4
   Memcheck:Leak
   fun:malloc_zone_malloc
   fun:*NX*Map*
   fun:*remap*
}

{
   OSX108:leak-5
   Memcheck:Leak
   fun:malloc_zone_malloc
   fun:*NX*Map*
   fun:*future*
}

{
   OSX108:leak-6
   Memcheck:Leak
   fun:malloc_zone_malloc
   fun:*strdup*
   fun:*NX*Map*
}

{
   OSX108:leak-7
   Memcheck:Leak
   fun:malloc_zone_malloc
   fun:*NX*Map*
   fun:*attached*
}

{
   OSX108:leak-8
   Memcheck:Leak
   fun:malloc_zone_malloc
   fun:*NX*Map*
   fun:dlopen
}

{
   OSX108:leak-9
   Memcheck:Leak
   fun:malloc
   fun:*PerThread*
   fun:dlopen
}

{
   OSX108:leak-10
   Memcheck:Leak
   fun:malloc_zone_calloc
   fun:*NX*Hash*
}

{
   OSX108:leak-11
   Memcheck:Leak
   fun:malloc_zone_calloc
   fun:*map*
   fun:*map*
}

{
   OSX108:leak-12
   Memcheck:Leak
   fun:malloc_zone_calloc
   fun:*fetch_pthread_data*
}

{
   OSX108:leak-13
   Memcheck:Leak
   fun:malloc_zone_malloc
   fun:recursive_mutex_init
   fun:_objc_init
}

{
   OSX108:leak-14
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc_zone_?alloc
   ...
   fun:dyld_register_image_state_change_handler
   ...
}

{
   OSX108:leak-15
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:?alloc
   ...
   fun:dyld_register_image_state_change_handler
   ...
}

{
   OSX108:leak-16
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc_zone_?alloc
   ...
   fun:map_images_nolock
   fun:map_images
   ...
}

{
   OSX108:leak-17
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc_zone_?alloc
   ...
   fun:map_images_nolock
   fun:map_images
   ...
}

{
   OSX108:leak-18
   Memcheck:Leak
   match-leak-kinds: indirect
   fun:malloc_zone_?alloc
   ...
   fun:libSystem_initializer
   ...
}

{
   OSX108:leak-19
   Memcheck:Leak
   match-leak-kinds: indirect
   fun:?alloc
   ...
   fun:libSystem_initializer
   ...
}

{
   OSX108:leak-20
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:malloc_zone_?alloc
   ...
   fun:libSystem_initializer
   ...
}

{
   OSX108:leak-21
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:?alloc
   ...
   fun:libSystem_initializer
   ...
}

{
   OSX108:leak-22
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:?alloc
   ...
   fun:_libxpc_initializer
   ...
}

{
   OSX108:leak-23
   Memcheck:Leak
   match-leak-kinds: definite
   fun:malloc
   fun:realloc
   fun:new_sem_from_pool
   ...
}

##----------------------------------------------------------------------##
# Memcheck
##----------------------------------------------------------------------##

