Skip to content

Instantly share code, notes, and snippets.

@kristianfreeman
Created October 24, 2014 02:20
Show Gist options
  • Save kristianfreeman/18e084ee0a0713e8a029 to your computer and use it in GitHub Desktop.
Save kristianfreeman/18e084ee0a0713e8a029 to your computer and use it in GitHub Desktop.
Index: Makefile.am
===================================================================
--- Makefile.am (revision 14528)
+++ Makefile.am (working copy)
@@ -45,7 +45,7 @@ SUPP_FILES = \
exp-sgcheck.supp \
darwin9.supp darwin9-drd.supp \
darwin10.supp darwin10-drd.supp \
- darwin11.supp darwin12.supp darwin13.supp \
+ darwin11.supp darwin12.supp darwin13.supp darwin14.supp \
bionic.supp
DEFAULT_SUPP_FILES = @DEFAULT_SUPP@
Index: configure.ac
===================================================================
--- configure.ac (revision 14528)
+++ configure.ac (working copy)
@@ -329,6 +329,7 @@ case "${host_os}" in
AC_DEFINE([DARWIN_10_7], 100700, [DARWIN_VERS value for Mac OS X 10.7])
AC_DEFINE([DARWIN_10_8], 100800, [DARWIN_VERS value for Mac OS X 10.8])
AC_DEFINE([DARWIN_10_9], 100900, [DARWIN_VERS value for Mac OS X 10.9])
+ AC_DEFINE([DARWIN_10_10], 101000, [DARWIN_VERS value for Mac OS X 10.10])
AC_MSG_CHECKING([for the kernel version])
kernel=`uname -r`
@@ -380,9 +381,15 @@ case "${host_os}" in
DEFAULT_SUPP="darwin13.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
;;
+ 14.*)
+ AC_MSG_RESULT([Darwin 14.x (${kernel}) / Mac OS X 10.10 Yosemite])
+ AC_DEFINE([DARWIN_VERS], DARWIN_10_10, [Darwin / Mac OS X version])
+ DEFAULT_SUPP="darwin14.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
+ ;;
*)
AC_MSG_RESULT([unsupported (${kernel})])
- AC_MSG_ERROR([Valgrind works on Darwin 10.x, 11.x, 12.x and 13.x (Mac OS X 10.6/7/8/9)])
+ AC_MSG_ERROR([Valgrind works on Darwin 10.x, 11.x, 12.x, 13.x and 14.x (Mac OS X 10.6/7/8/9/10)])
;;
esac
;;
Index: coregrind/m_redir.c
===================================================================
--- coregrind/m_redir.c (revision 14528)
+++ coregrind/m_redir.c (working copy)
@@ -1460,7 +1460,7 @@ void VG_(redir_initialise) ( void )
// DDD: #warning fixme rdar://6166275
add_hardwired_spec("dyld", "arc4random",
(Addr)&VG_(amd64_darwin_REDIR_FOR_arc4random), NULL);
-# if DARWIN_VERS == DARWIN_10_9
+# if DARWIN_VERS >= DARWIN_10_9
add_hardwired_spec("dyld", "strchr",
(Addr)&VG_(amd64_darwin_REDIR_FOR_strchr), NULL);
# endif
Index: coregrind/m_syswrap/priv_syswrap-darwin.h
===================================================================
--- coregrind/m_syswrap/priv_syswrap-darwin.h (revision 14528)
+++ coregrind/m_syswrap/priv_syswrap-darwin.h (working copy)
@@ -578,7 +578,7 @@ DECL_TEMPLATE(darwin, mach_msg_task);
DECL_TEMPLATE(darwin, mach_msg_thread);
// Mach traps
-#if DARWIN_VERS == DARWIN_10_8 || DARWIN_VERS == DARWIN_10_9
+#if DARWIN_VERS >= DARWIN_10_8
DECL_TEMPLATE(darwin, kernelrpc_mach_vm_allocate_trap);
DECL_TEMPLATE(darwin, kernelrpc_mach_vm_deallocate_trap);
DECL_TEMPLATE(darwin, kernelrpc_mach_vm_protect_trap);
@@ -597,7 +597,7 @@ DECL_TEMPLATE(darwin, kernelrpc_mach_por
DECL_TEMPLATE(darwin, kernelrpc_mach_port_unguard_trap);
DECL_TEMPLATE(darwin, iopolicysys);
DECL_TEMPLATE(darwin, process_policy);
-#endif /* DARWIN_VERS == DARWIN_10_8 || DARWIN_VERS == DARWIN_10_9 */
+#endif /* DARWIN_VERS >= DARWIN_10_8 */
DECL_TEMPLATE(darwin, mach_msg_unhandled);
DECL_TEMPLATE(darwin, mach_msg_unhandled_check);
DECL_TEMPLATE(darwin, mach_msg);
Index: coregrind/m_syswrap/syswrap-amd64-darwin.c
===================================================================
--- coregrind/m_syswrap/syswrap-amd64-darwin.c (revision 14528)
+++ coregrind/m_syswrap/syswrap-amd64-darwin.c (working copy)
@@ -465,7 +465,7 @@ void wqthread_hijack(Addr self, Addr kpo
out just the relevant parts. Hence: */
# if DARWIN_VERS <= DARWIN_10_7
Bool is_reuse = reuse != 0;
-# elif DARWIN_VERS == DARWIN_10_8 || DARWIN_VERS == DARWIN_10_9
+# elif DARWIN_VERS >= DARWIN_10_8
Bool is_reuse = (reuse & 0x20000 /* == WQ_FLAG_THREAD_REUSE */) != 0;
# endif
@@ -478,7 +478,7 @@ void wqthread_hijack(Addr self, Addr kpo
UWord magic_delta = 0;
# elif DARWIN_VERS == DARWIN_10_7 || DARWIN_VERS == DARWIN_10_8
UWord magic_delta = 0x60;
-# elif DARWIN_VERS == DARWIN_10_9
+# elif DARWIN_VERS == DARWIN_10_9 || DARWIN_VERS == DARWIN_10_10
UWord magic_delta = 0xE0;
# else
# error "magic_delta: to be computed on new OS version"
@@ -495,7 +495,7 @@ void wqthread_hijack(Addr self, Addr kpo
tst = VG_(get_ThreadState)(tid);
- if (0) VG_(printf)("wqthread_hijack reuse %s: tid %d, tst %p, "
+ if (1) VG_(printf)("wqthread_hijack reuse %s: tid %d, tst %p, "
"tst->os_state.pthread %#lx\n",
tst->os_state.pthread == self ? "SAME" : "DIFF",
tid, tst, tst->os_state.pthread);
Index: coregrind/pub_core_trampoline.h
===================================================================
--- coregrind/pub_core_trampoline.h (revision 14528)
+++ coregrind/pub_core_trampoline.h (working copy)
@@ -130,7 +130,7 @@ extern char* VG_(amd64_darwin_REDIR_FOR_
extern SizeT VG_(amd64_darwin_REDIR_FOR_strlcat)( char *s1, const char *s2,
SizeT size );
extern UInt VG_(amd64_darwin_REDIR_FOR_arc4random)( void );
-# if DARWIN_VERS == DARWIN_10_9
+# if DARWIN_VERS >= DARWIN_10_9
extern char* VG_(amd64_darwin_REDIR_FOR_strchr)( const char*, int );
# endif
#endif
Index: darwin14.supp
===================================================================
--- darwin14.supp (revision 0)
+++ darwin14.supp (working copy)
@@ -0,0 +1,268 @@
+
+# Suppressions for Darwin 13.x / Mac OS X 10.9 Mavericks
+
+############################################
+## Leaks. For other stuff see below.
+
+{
+ OSX1010:1-Leak
+ Memcheck:Leak
+ match-leak-kinds: possible
+ fun:malloc_zone_?alloc
+ ...
+ fun:_read_images
+}
+
+{
+ OSX1010:2-Leak
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:?alloc
+ ...
+ fun:_ZN4dyld24initializeMainExecutableEv
+}
+
+{
+ OSX1010: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
+ ...
+}
+
+{
+ OSX1010:4-Leak
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ fun:malloc_zone_?alloc
+ ...
+ fun:dyld_register_image_state_change_handler
+ ...
+}
+
+{
+ OSX1010:5-Leak
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ fun:?alloc
+ ...
+ fun:dyld_register_image_state_change_handler
+ ...
+}
+
+{
+ OSX1010:6-Leak
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ fun:malloc_zone_?alloc
+ ...
+ fun:map_images_nolock
+ fun:map_images
+ ...
+}
+
+{
+ OSX1010:7-Leak
+ Memcheck:Leak
+ match-leak-kinds: possible
+ fun:malloc_zone_?alloc
+ ...
+ fun:map_images_nolock
+ fun:map_images
+ ...
+}
+
+{
+ OSX1010:8-Leak
+ Memcheck:Leak
+ match-leak-kinds: indirect
+ fun:?alloc
+ ...
+ fun:libSystem_initializer
+ ...
+}
+
+{
+ OSX1010:9-Leak
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ fun:malloc_zone_?alloc
+ ...
+ fun:libSystem_initializer
+ ...
+}
+
+{
+ OSX1010:10-Leak
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ fun:?alloc
+ ...
+ fun:libSystem_initializer
+ ...
+}
+
+{
+ OSX1010:11-Leak
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:malloc
+ fun:currentlocale
+}
+
+{
+ OSX1010:12-Leak
+ Memcheck:Leak
+ match-leak-kinds: possible
+ fun:malloc
+ fun:tzsetwall_basic
+ fun:_st_tzset_basic
+}
+
+############################################
+## Non-leak errors
+
+{
+ OSX1010:AppKit-1
+ Memcheck:Cond
+ obj:*AppKit.framework*AppKit*
+ obj:*AppKit.framework*AppKit*
+ obj:*AppKit.framework*AppKit*
+}
+
+{
+ OSX1010:AppKit-2
+ Memcheck:Cond
+ obj:*AppKit.framework*AppKit*
+ obj:*AppKit.framework*AppKit*
+ obj:*libdispatch.dylib*
+}
+
+{
+ OSX1010:AppKit-3
+ Memcheck:Cond
+ obj:*AppKit.framework*AppKit*
+ obj:*libdispatch.dylib*
+ obj:*libdispatch.dylib*
+}
+
+{
+ OSX1010:ColorSync-1
+ Memcheck:Cond
+ obj:*ColorSync.framework*ColorSync*
+ obj:*ColorSync.framework*ColorSync*
+ obj:*ColorSync.framework*ColorSync*
+}
+
+{
+ OSX1010:ColorSync-2
+ Memcheck:Value8
+ obj:*ColorSync.framework*ColorSync*
+ obj:*ColorSync.framework*ColorSync*
+ obj:*ColorSync.framework*ColorSync*
+}
+
+{
+ OSX1010:CoreGraphics-1
+ Memcheck:Cond
+ obj:*CoreGraphics.framework*CoreGraphics*
+ obj:*CoreGraphics.framework*CoreGraphics*
+ obj:*CoreGraphics.framework*CoreGraphics*
+}
+
+{
+ OSX1010:CoreGraphics-2
+ Memcheck:Value8
+ obj:*CoreGraphics.framework*CoreGraphics*
+ obj:*CoreGraphics.framework*CoreGraphics*
+ obj:*CoreGraphics.framework*CoreGraphics*
+}
+
+{
+ OSX1010:CoreGraphics-3
+ Memcheck:Cond
+ obj:*CoreGraphics.framework*CoreGraphics*
+ obj:*CoreGraphics.framework*libRIP*
+ obj:*CoreGraphics.framework*libRIP*
+}
+
+{
+ OSX1010:CoreGraphics-4
+ Memcheck:Cond
+ obj:*CoreGraphics.framework*CoreGraphics*
+ obj:*CoreGraphics.framework*CoreGraphics*
+ obj:*CoreGraphics.framework*libRIP*
+}
+
+{
+ OSX1010:CoreGraphics-5
+ Memcheck:Cond
+ obj:*CoreGraphics.framework*CoreGraphics*
+ obj:*libdispatch.dylib*
+ obj:*libdispatch.dylib*
+}
+
+{
+ OSX1010:dyld-2
+ Memcheck:Cond
+ obj:/usr/lib/dyld
+ obj:/usr/lib/dyld
+ obj:/usr/lib/dyld
+}
+
+{
+ OSX1010:HIServices-1
+ Memcheck:Cond
+ obj:*HIServices.framework*HIServices*
+ obj:*HIToolbox.framework*HIToolbox*
+ obj:*HIToolbox.framework*HIToolbox*
+}
+
+{
+ OSX1010:LaunchServices-1
+ Memcheck:Cond
+ obj:*LaunchServices.framework*LaunchServices*
+ obj:*AppKit.framework*AppKit*
+ obj:*AppKit.framework*AppKit*
+}
+
+{
+ OSX1010:QuartzCore-1
+ Memcheck:Cond
+ obj:*QuartzCore.framework*QuartzCore
+ obj:*QuartzCore.framework*QuartzCore
+ obj:*QuartzCore.framework*QuartzCore
+}
+
+{
+ OSX1010:vImage-1
+ Memcheck:Cond
+ obj:*vImage.framework*vImage*
+ obj:*vImage.framework*vImage*
+ obj:*CoreGraphics.framework*CoreGraphics*
+}
+
+{
+ OSX1010:zlib-C
+ Memcheck:Cond
+ obj:/usr/lib/libz.*dylib
+ obj:/usr/lib/libz.*dylib
+}
+{
+ OSX1010:zlib-8
+ Memcheck:Value8
+ obj:/usr/lib/libz.*dylib
+ obj:/usr/lib/libz.*dylib
+}
+
+{
+ OSX1010:32bit:_libxpc_initializer
+ Memcheck:Cond
+ fun:_libxpc_initializer
+ fun:libSystem_initializer
+ fun:*ImageLoaderMachO*doModInitFunctions*
+}
Index: include/vki/vki-scnums-darwin.h
===================================================================
--- include/vki/vki-scnums-darwin.h (revision 14528)
+++ include/vki/vki-scnums-darwin.h (working copy)
@@ -711,7 +711,7 @@
#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(430)
#elif DARWIN_VERSION < DARWIN_10_9
#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(430)
-#elif DARWIN_VERSION == DARWIN_10_9
+#elif DARWIN_VERSION >= DARWIN_10_9
#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(456)
#else
#error unknown darwin version
Index: shared/vg_replace_strmem.c
===================================================================
--- shared/vg_replace_strmem.c (revision 14528)
+++ shared/vg_replace_strmem.c (working copy)
@@ -239,7 +239,7 @@ static inline void my_exit ( int x )
#elif defined(VGO_darwin)
STRCHR(VG_Z_LIBC_SONAME, strchr)
-# if DARWIN_VERS == DARWIN_10_9
+# if DARWIN_VERS >= DARWIN_10_9
STRCHR(libsystemZuplatformZddylib, _platform_strchr)
# endif
#endif
@@ -383,7 +383,7 @@ static inline void my_exit ( int x )
STRNLEN(VG_Z_LIBC_SONAME, __GI_strnlen)
#elif defined(VGO_darwin)
-# if DARWIN_VERS == DARWIN_10_9
+# if DARWIN_VERS >= DARWIN_10_9
STRNLEN(libsystemZucZddylib, strnlen)
# endif
@@ -423,7 +423,7 @@ static inline void my_exit ( int x )
#elif defined(VGO_darwin)
STRLEN(VG_Z_LIBC_SONAME, strlen)
-# if DARWIN_VERS == DARWIN_10_9
+# if DARWIN_VERS >= DARWIN_10_9
STRLEN(libsystemZucZddylib, strlen)
# endif
#endif
@@ -460,7 +460,7 @@ static inline void my_exit ( int x )
#elif defined(VGO_darwin)
STRCPY(VG_Z_LIBC_SONAME, strcpy)
-# if DARWIN_VERS == DARWIN_10_9
+# if DARWIN_VERS >= DARWIN_10_9
STRCPY(libsystemZucZddylib, strcpy)
# endif
@@ -497,7 +497,7 @@ static inline void my_exit ( int x )
#elif defined(VGO_darwin)
STRNCPY(VG_Z_LIBC_SONAME, strncpy)
-# if DARWIN_VERS == DARWIN_10_9
+# if DARWIN_VERS >= DARWIN_10_9
STRNCPY(libsystemZucZddylib, strncpy)
# endif
@@ -576,7 +576,7 @@ static inline void my_exit ( int x )
#elif defined(VGO_darwin)
STRNCMP(VG_Z_LIBC_SONAME, strncmp)
-# if DARWIN_VERS == DARWIN_10_9
+# if DARWIN_VERS >= DARWIN_10_9
STRNCMP(libsystemZuplatformZddylib, _platform_strncmp)
# endif
@@ -765,7 +765,7 @@ static inline void my_exit ( int x )
#elif defined(VGO_darwin)
STRCMP(VG_Z_LIBC_SONAME, strcmp)
-# if DARWIN_VERS == DARWIN_10_9
+# if DARWIN_VERS >= DARWIN_10_9
STRCMP(libsystemZuplatformZddylib, _platform_strcmp)
# endif
@@ -793,7 +793,7 @@ static inline void my_exit ( int x )
MEMCHR(VG_Z_LIBC_SONAME, __GI_memchr)
#elif defined(VGO_darwin)
-# if DARWIN_VERS == DARWIN_10_9
+# if DARWIN_VERS >= DARWIN_10_9
MEMCHR(VG_Z_DYLD, memchr)
MEMCHR(libsystemZuplatformZddylib, _platform_memchr)
# endif
@@ -974,7 +974,7 @@ static inline void my_exit ( int x )
MEMCMP(VG_Z_LD_SO_1, bcmp)
#elif defined(VGO_darwin)
-# if DARWIN_VERS == DARWIN_10_9
+# if DARWIN_VERS >= DARWIN_10_9
MEMCMP(libsystemZuplatformZddylib, _platform_memcmp)
# endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment