
# Suppressions for Darwin 13.x / Mac OS X 10.9 Mavericks

############################################
## Leaks.  For other stuff see below.

{
   OSX109:1-Leak
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc_zone_?alloc
   ...
   fun:_read_images
}

{
   OSX109:2-Leak
   Memcheck:Leak
   match-leak-kinds: definite
   fun:?alloc
   ...
   fun:_ZN4dyld24initializeMainExecutableEv
}

{
   OSX109:3-Leak
   Memcheck:Leak
   match-leak-kinds: definite
   fun:malloc_zone_?alloc
   fun:recursive_mutex_init
   fun:_objc_init
   fun:_os_object_init
   fun:libSystem_initializer
   ...
}

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

{
   OSX109:5-Leak
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:?alloc
   ...
   fun:dyld_register_image_state_change_handler
   ...
}

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

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

{
   OSX109:8-Leak
   Memcheck:Leak
   match-leak-kinds: indirect
   fun:?alloc
   ...
   fun:libSystem_initializer
   ...
}

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

{
   OSX109:10-Leak
   Memcheck:Leak
   match-leak-kinds: reachable
   fun:?alloc
   ...
   fun:libSystem_initializer
   ...
}

{
   OSX109:11-Leak
   Memcheck:Leak
   match-leak-kinds: definite
   fun:malloc
   fun:currentlocale
}

{
   OSX109:12-Leak
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   fun:tzsetwall_basic
   fun:_st_tzset_basic
}

############################################
## Non-leak errors

{
   OSX109:AppKit-1
   Memcheck:Cond
   obj:*AppKit.framework*AppKit*
   obj:*AppKit.framework*AppKit*
   obj:*AppKit.framework*AppKit*
}

{
   OSX109:AppKit-2
   Memcheck:Cond
   obj:*AppKit.framework*AppKit*
   obj:*AppKit.framework*AppKit*
   obj:*libdispatch.dylib*
}

{
   OSX109:AppKit-3
   Memcheck:Cond
   obj:*AppKit.framework*AppKit*
   obj:*libdispatch.dylib*
   obj:*libdispatch.dylib*
}

{
   OSX109:ColorSync-1
   Memcheck:Cond
   obj:*ColorSync.framework*ColorSync*
   obj:*ColorSync.framework*ColorSync*
   obj:*ColorSync.framework*ColorSync*
}

{
   OSX109:ColorSync-2
   Memcheck:Value8
   obj:*ColorSync.framework*ColorSync*
   obj:*ColorSync.framework*ColorSync*
   obj:*ColorSync.framework*ColorSync*
}

{
   OSX109:CoreGraphics-1
   Memcheck:Cond
   obj:*CoreGraphics.framework*CoreGraphics*
   obj:*CoreGraphics.framework*CoreGraphics*
   obj:*CoreGraphics.framework*CoreGraphics*
}

{
   OSX109:CoreGraphics-2
   Memcheck:Value8
   obj:*CoreGraphics.framework*CoreGraphics*
   obj:*CoreGraphics.framework*CoreGraphics*
   obj:*CoreGraphics.framework*CoreGraphics*
}

{
   OSX109:CoreGraphics-3
   Memcheck:Cond
   obj:*CoreGraphics.framework*CoreGraphics*
   obj:*CoreGraphics.framework*libRIP*
   obj:*CoreGraphics.framework*libRIP*
}

{
   OSX109:CoreGraphics-4
   Memcheck:Cond
   obj:*CoreGraphics.framework*CoreGraphics*
   obj:*CoreGraphics.framework*CoreGraphics*
   obj:*CoreGraphics.framework*libRIP*
}

{
   OSX109:CoreGraphics-5
   Memcheck:Cond
   obj:*CoreGraphics.framework*CoreGraphics*
   obj:*libdispatch.dylib*
   obj:*libdispatch.dylib*
}

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

{
   OSX109:HIServices-1
   Memcheck:Cond
   obj:*HIServices.framework*HIServices*
   obj:*HIToolbox.framework*HIToolbox*
   obj:*HIToolbox.framework*HIToolbox*
}

{  
   OSX109:LaunchServices-1
   Memcheck:Cond
   obj:*LaunchServices.framework*LaunchServices*
   obj:*AppKit.framework*AppKit*
   obj:*AppKit.framework*AppKit*
}

{
   OSX109:QuartzCore-1
   Memcheck:Cond
   obj:*QuartzCore.framework*QuartzCore
   obj:*QuartzCore.framework*QuartzCore
   obj:*QuartzCore.framework*QuartzCore
}

{
   OSX109:vImage-1
   Memcheck:Cond
   obj:*vImage.framework*vImage*
   obj:*vImage.framework*vImage*
   obj:*CoreGraphics.framework*CoreGraphics*
}

{
   OSX109:zlib-C
   Memcheck:Cond
   obj:/usr/lib/libz.*dylib
   obj:/usr/lib/libz.*dylib
}
{
   OSX109:zlib-8
   Memcheck:Value8
   obj:/usr/lib/libz.*dylib
   obj:/usr/lib/libz.*dylib
}

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