From: Rhys Kidd Date: Wed, 8 Jul 2015 13:46:57 +0000 (+0000) Subject: Preliminary support for OS X 10.11 (El Capitan). Refer BZ#348909 for ongoing work. X-Git-Tag: svn/VALGRIND_3_11_0~243 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0fcd971d1544a00d5c51f50b3d10b3356d66958b;p=thirdparty%2Fvalgrind.git Preliminary support for OS X 10.11 (El Capitan). Refer BZ#348909 for ongoing work. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15403 --- diff --git a/Makefile.am b/Makefile.am index d35fd36d34..426c1ea469 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 darwin14.supp \ + darwin11.supp darwin12.supp darwin13.supp darwin14.supp darwin15.supp \ bionic.supp DEFAULT_SUPP_FILES = @DEFAULT_SUPP@ diff --git a/configure.ac b/configure.ac index 558adf3313..60c4fec97e 100644 --- a/configure.ac +++ b/configure.ac @@ -154,7 +154,7 @@ AM_CONDITIONAL(COMPILER_IS_ICC, test $is_clang = icc) # Note: m4 arguments are quoted with [ and ] so square brackets in shell # statements have to be quoted. case "${is_clang}-${gcc_version}" in - applellvm-5.1|applellvm-6.*) + applellvm-5.1|applellvm-6.*|applellvm-7.*) AC_MSG_RESULT([ok (Apple LLVM version ${gcc_version})]) ;; icc-1[[3-9]].*) @@ -352,6 +352,7 @@ case "${host_os}" in 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_DEFINE([DARWIN_10_11], 101100, [DARWIN_VERS value for Mac OS X 10.11]) AC_MSG_CHECKING([for the kernel version]) kernel=`uname -r` @@ -409,9 +410,15 @@ case "${host_os}" in DEFAULT_SUPP="darwin14.supp ${DEFAULT_SUPP}" DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" ;; + 15.*) + AC_MSG_RESULT([Darwin 15.x (${kernel}) / Mac OS X 10.11 El Capitan]) + AC_DEFINE([DARWIN_VERS], DARWIN_10_11, [Darwin / Mac OS X version]) + DEFAULT_SUPP="darwin15.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, 13.x and 14.x (Mac OS X 10.6/7/8/9/10)]) + AC_MSG_ERROR([Valgrind works on Darwin 10.x, 11.x, 12.x, 13.x, 14.x and 15.x (Mac OS X 10.6/7/8/9/10/11)]) ;; esac ;; diff --git a/coregrind/fixup_macho_loadcmds.c b/coregrind/fixup_macho_loadcmds.c index d66ad20abe..9db6f46e53 100644 --- a/coregrind/fixup_macho_loadcmds.c +++ b/coregrind/fixup_macho_loadcmds.c @@ -121,7 +121,8 @@ #include "config.h" #if DARWIN_VERS != DARWIN_10_5 && DARWIN_VERS != DARWIN_10_6 \ && DARWIN_VERS != DARWIN_10_7 && DARWIN_VERS != DARWIN_10_8 \ - && DARWIN_VERS != DARWIN_10_9 && DARWIN_VERS != DARWIN_10_10 + && DARWIN_VERS != DARWIN_10_9 && DARWIN_VERS != DARWIN_10_10 \ + && DARWIN_VERS != DARWIN_10_11 # error "Unknown DARWIN_VERS value. This file only compiles on Darwin." #endif @@ -555,7 +556,7 @@ void modify_macho_loadcmds ( HChar* filename, maybe_mash_pagezero: /* Deal with Problem (2) as documented above. */ -# if DARWIN_VERS == DARWIN_10_10 +# if DARWIN_VERS >= DARWIN_10_10 assert(size == 64); if (!seg__pagezero) { fail("Can't find __PAGEZERO to modify; can't continue."); diff --git a/coregrind/m_main.c b/coregrind/m_main.c index 9f98e11a75..39c03ab3d7 100644 --- a/coregrind/m_main.c +++ b/coregrind/m_main.c @@ -3864,9 +3864,9 @@ __fixunsdfdi(double a) /*=== Dummy _voucher_mach_msg_set for OSX 10.10 ===*/ /*====================================================================*/ -#if defined(VGO_darwin) && DARWIN_VERS == DARWIN_10_10 +#if defined(VGO_darwin) && DARWIN_VERS >= DARWIN_10_10 -/* Builds on MacOSX 10.10 seem to need this for some reason. */ +/* Builds on MacOSX 10.10+ seem to need this for some reason. */ /* extern boolean_t voucher_mach_msg_set(mach_msg_header_t *msg) __attribute__((weak_import)); I haven't a clue what the return value means, so just return 0. diff --git a/coregrind/m_syswrap/priv_syswrap-darwin.h b/coregrind/m_syswrap/priv_syswrap-darwin.h index 7295cf45ea..3cf868e8e1 100644 --- a/coregrind/m_syswrap/priv_syswrap-darwin.h +++ b/coregrind/m_syswrap/priv_syswrap-darwin.h @@ -335,7 +335,7 @@ DECL_TEMPLATE(darwin, sem_post); // 273 #if DARWIN_VERS < DARWIN_10_10 // NYI sem_getvalue 274 -#elif DARWIN_VERS == DARWIN_10_10 +#elif DARWIN_VERS >= DARWIN_10_10 DECL_TEMPLATE(darwin, sysctlbyname); // 274 #endif @@ -506,10 +506,10 @@ DECL_TEMPLATE(darwin, fileport_makeport); // 430 // NYI audit_session_port 432 // NYI pid_suspend 433 // NYI pid_resume 434 -#if DARWIN_VERS == DARWIN_10_10 +#if DARWIN_VERS >= DARWIN_10_10 // NYI pid_hibernate 435 // NYI pid_shutdown_sockets 436 -#endif /* DARWIN_VERS == DARWIN_10_10 */ +#endif /* DARWIN_VERS >= DARWIN_10_10 */ // old old shared_region_slide_np 437 // NYI shared_region_map_and_slide_np // 438 // NYI kas_info // 439 @@ -529,7 +529,7 @@ DECL_TEMPLATE(darwin, disconnectx); // 448 // NYI memorystatus_get_level // 453 // NYI system_override // 454 // NYI vfs_purge // 455 -#if DARWIN_VERS == DARWIN_10_10 +#if DARWIN_VERS >= DARWIN_10_10 // NYI sfi_ctl // 456 // NYI sfi_pidctl // 457 // NYI coalition // 458 @@ -564,7 +564,7 @@ DECL_TEMPLATE(darwin, guarded_pwrite_np); // 486 DECL_TEMPLATE(darwin, guarded_writev_np); // 487 // NYI rename_ext // 488 // NYI mremap_encrypted // 489 -#endif /* DARWIN_VERS == DARWIN_10_10 */ +#endif /* DARWIN_VERS >= DARWIN_10_10 */ // Mach message helpers DECL_TEMPLATE(darwin, mach_port_set_context); diff --git a/coregrind/m_syswrap/syswrap-amd64-darwin.c b/coregrind/m_syswrap/syswrap-amd64-darwin.c index 979fe3636f..d4e1cb5e28 100644 --- a/coregrind/m_syswrap/syswrap-amd64-darwin.c +++ b/coregrind/m_syswrap/syswrap-amd64-darwin.c @@ -464,7 +464,7 @@ void wqthread_hijack(Addr self, Addr kport, Addr stackaddr, Addr workitem, 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 || DARWIN_VERS == DARWIN_10_10 +# elif DARWIN_VERS > DARWIN_10_7 Bool is_reuse = (reuse & 0x20000 /* == WQ_FLAG_THREAD_REUSE */) != 0; # else # error "Unsupported Darwin version" @@ -479,7 +479,7 @@ void wqthread_hijack(Addr self, Addr kport, Addr stackaddr, Addr workitem, 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 || DARWIN_VERS == DARWIN_10_10 +# elif DARWIN_VERS == DARWIN_10_9 || DARWIN_VERS == DARWIN_10_10 || DARWIN_VERS == DARWIN_10_11 UWord magic_delta = 0xE0; # else # error "magic_delta: to be computed on new OS version" diff --git a/coregrind/m_syswrap/syswrap-darwin.c b/coregrind/m_syswrap/syswrap-darwin.c index 9eba933126..38f823d418 100644 --- a/coregrind/m_syswrap/syswrap-darwin.c +++ b/coregrind/m_syswrap/syswrap-darwin.c @@ -8284,7 +8284,7 @@ PRE(mach_msg) // GrP fixme handle sender-specified message trailer // (but is this only for too-secure processes?) // JRS 11 Nov 2014: this assertion is OK for <= 10.9 but fails on 10.10 -# if DARWIN_VERS == DARWIN_10_10 +# if DARWIN_VERS >= DARWIN_10_10 if (mh->msgh_bits & MACH_SEND_TRAILER) { log_decaying("UNKNOWN mach_msg unhandled MACH_SEND_TRAILER option"); } diff --git a/coregrind/m_syswrap/syswrap-x86-darwin.c b/coregrind/m_syswrap/syswrap-x86-darwin.c index 45f0adf5b4..89e0595ae4 100644 --- a/coregrind/m_syswrap/syswrap-x86-darwin.c +++ b/coregrind/m_syswrap/syswrap-x86-darwin.c @@ -412,7 +412,7 @@ void wqthread_hijack(Addr self, Addr kport, Addr stackaddr, Addr workitem, 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 || DARWIN_VERS == DARWIN_10_10 +# elif DARWIN_VERS > DARWIN_10_7 Bool is_reuse = (reuse & 0x20000 /* == WQ_FLAG_THREAD_REUSE */) != 0; # else # error "Unsupported Darwin version" @@ -427,7 +427,7 @@ void wqthread_hijack(Addr self, Addr kport, Addr stackaddr, Addr workitem, UWord magic_delta = 0; # elif DARWIN_VERS == DARWIN_10_7 || DARWIN_VERS == DARWIN_10_8 UWord magic_delta = 0x48; -# elif DARWIN_VERS == DARWIN_10_9 || DARWIN_VERS == DARWIN_10_10 +# elif DARWIN_VERS == DARWIN_10_9 || DARWIN_VERS == DARWIN_10_10 || DARWIN_VERS == DARWIN_10_11 UWord magic_delta = 0xB0; # else # error "magic_delta: to be computed on new OS version" diff --git a/darwin15.supp b/darwin15.supp new file mode 100644 index 0000000000..e33c7f67f7 --- /dev/null +++ b/darwin15.supp @@ -0,0 +1,750 @@ + +# Suppressions for Darwin 15.x / Mac OS X 10.11 El Capitan + +############################################ +## Leaks. For other stuff see below. + +{ + OSX1011:1-Leak + Memcheck:Leak + match-leak-kinds: possible + fun:malloc_zone_?alloc + ... + fun:_read_images +} + +#{ +# OSX1011:2-Leak +# Memcheck:Leak +# match-leak-kinds: definite +# fun:?alloc +# ... +# fun:_ZN4dyld24initializeMainExecutableEv +#} + +{ + OSX1011:3-Leak + Memcheck:Leak + match-leak-kinds: definite + fun:malloc_zone_?alloc + fun:recursive_mutex_init + ... + fun:_os_object_init + fun:libdispatch_init + fun:libSystem_initializer + ... +} + +#{ +# OSX1011:4-Leak +# Memcheck:Leak +# match-leak-kinds: reachable +# fun:malloc_zone_?alloc +# ... +# fun:dyld_register_image_state_change_handler +# ... +#} + +{ + OSX1011:5-Leak + Memcheck:Leak + match-leak-kinds: reachable + fun:?alloc + ... + fun:dyld_register_image_state_change_handler + ... +} + +{ + OSX1011:6-Leak + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc_zone_?alloc + ... + fun:map_images_nolock + fun:map_hax_images + ... +} + +{ + OSX1011:7-Leak + Memcheck:Leak + match-leak-kinds: possible + fun:malloc_zone_?alloc + ... + fun:map_images_nolock + fun:map_hax_images + ... +} + +{ + OSX1011:8-Leak + Memcheck:Leak + match-leak-kinds: definite + fun:?alloc + ... + fun:libSystem_initializer + ... +} + +{ + OSX1011:9-Leak + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc_zone_?alloc + ... + fun:libSystem_initializer + ... +} + +{ + OSX1011:10-Leak + Memcheck:Leak + match-leak-kinds: reachable + fun:?alloc + ... + fun:libSystem_initializer + ... +} + +#{ +# OSX1011:11-Leak +# Memcheck:Leak +# match-leak-kinds: definite +# fun:malloc +# fun:currentlocale +#} +# +#{ +# OSX1011:12-Leak +# Memcheck:Leak +# match-leak-kinds: possible +# fun:malloc +# fun:tzsetwall_basic +# fun:_st_tzset_basic +#} + +{ + OSX1011:13-Leak + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc_zone_memalign + ... + fun:_ZN4dyld24initializeMainExecutableEv + ... +} + +{ + OSX1011:14-Leak + Memcheck:Leak + match-leak-kinds: reachable + fun:?alloc + ... + fun:libSystem_atfork_child + ... +} + +{ + OSX1011:15-Leak + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:__smakebuf + ... + fun:printf + ... +} + +{ + OSX1011:16-Leak + Memcheck:Leak + match-leak-kinds: possible + fun:?alloc + ... + fun:_read_images +} + +{ + OSX1011:17-Leak + Memcheck:Leak + match-leak-kinds: reachable + fun:?alloc + ... + fun:_read_images +} + +{ + OSX1011:18-Leak + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc_zone_?alloc + ... + fun:_read_images +} + +{ + OSX1011:19-Leak + Memcheck:Leak + match-leak-kinds: possible + fun:malloc_zone_?alloc + ... + fun:*NX*Map* + fun:*NX*Map* +} + +{ + OSX1011:20-Leak + Memcheck:Leak + match-leak-kinds: indirect + fun:?alloc + ... + fun:libSystem_initializer + ... +} + + +############################################ +## Non-leak errors + +##{ +## OSX1011:CoreFoundation-1 +## Memcheck:Cond +## obj:*CoreFoundation.framework*CoreFoundation* +## obj:*CoreFoundation.framework*CoreFoundation* +## obj:*CoreFoundation.framework*CoreFoundation* +##} + +{ + OSX1011:CoreFoundation-2 + Memcheck:Cond + obj:*CoreFoundation.framework*CoreFoundation* + obj:*libdispatch.dylib* + obj:*libdispatch.dylib* +} + +{ + OSX1011:CoreFoundation-3 + Memcheck:Cond + obj:*CoreFoundation.framework*CoreFoundation* + obj:*CoreFoundation.framework*CoreFoundation* + obj:*Foundation.framework*Foundation* +} + +{ + OSX1011:CoreFoundation-4 + Memcheck:Cond + obj:*CoreFoundation.framework*CoreFoundation* + obj:*CoreFoundation.framework*CoreFoundation* + obj:*SystemConfiguration.framework*SystemConfiguration* +} + +{ + OSX1011:CoreFoundation-5 + Memcheck:Cond + obj:*CoreFoundation.framework*CoreFoundation* + obj:*CoreFoundation.framework*CoreFoundation* + obj:*HIServices.framework*HIServices* +} + +{ + OSX1011:CoreFoundation-6 + Memcheck:Cond + obj:*CoreFoundation.framework*CoreFoundation* + obj:*SystemConfiguration.framework*SystemConfiguration* + obj:*SystemConfiguration.framework*SystemConfiguration* +} + +{ + OSX1011:CoreFoundation-7 + Memcheck:Cond + obj:*CoreFoundation.framework*CoreFoundation* + obj:*SystemConfiguration.framework*SystemConfiguration* + obj:*CoreFoundation.framework*CoreFoundation* +} + +{ + OSX1011:CoreFoundation-8 + Memcheck:Cond + obj:*CoreFoundation.framework*CoreFoundation* + obj:*IOKit.framework*IOKit* +} + +{ + OSX1011:CoreFoundation-9 + Memcheck:Cond + obj:*CoreFoundation.framework*CoreFoundation* + obj:*Foundation.framework*Foundation* + obj:*AppKit.framework*AppKit* +} + +{ + OSX1011:CoreFoundation-10 + Memcheck:Cond + obj:*CoreFoundation.framework*CoreFoundation* + obj:*HIToolbox.framework*HIToolbox* + obj:*HIToolbox.framework*HIToolbox* +} + +{ + OSX1011:CoreFoundation-11 + Memcheck:Cond + obj:*CoreFoundation.framework*CoreFoundation* + obj:*AE.framework*AE* + obj:*AE.framework*AE* +} + +{ + OSX1011:CoreFoundation-12 + Memcheck:Cond + obj:*CoreFoundation.framework*CoreFoundation* + obj:*CoreFoundation.framework*CoreFoundation* + obj:*HIToolbox.framework*HIToolbox* +} + +{ + OSX1011:CoreFoundation-13 + Memcheck:Cond + obj:*CoreFoundation.framework*CoreFoundation* + obj:*CoreFoundation.framework*CoreFoundation* + obj:*AE.framework*AE* +} + +{ + OSX1011:AppKit-1 + Memcheck:Cond + obj:*AppKit.framework*AppKit* + obj:*AppKit.framework*AppKit* + obj:*AppKit.framework*AppKit* +} + +{ + OSX1011:AppKit-2 + Memcheck:Cond + obj:*AppKit.framework*AppKit* + obj:*AppKit.framework*AppKit* + obj:*libdispatch.dylib* +} + +#{ +# OSX1011:AppKit-3 +# Memcheck:Cond +# obj:*AppKit.framework*AppKit* +# obj:*libdispatch.dylib* +# obj:*libdispatch.dylib* +#} + +##{ +## OSX1011:AppKit-4 +## Memcheck:Cond +## obj:*AppKit.framework*AppKit* +## obj:*AppKit.framework*AppKit* +## obj:*CoreFoundation.framework*CoreFoundation* +##} + +{ + OSX1011:AppKit-5 + Memcheck:Cond + obj:*AppKit.framework*AppKit* + obj:*AppKit.framework*AppKit* + obj:*Foundation.framework*Foundation* +} + +{ + OSX1011:AppKit-6 + Memcheck:Cond + obj:*AppKit.framework*AppKit* + obj:*Foundation.framework*Foundation* + obj:*AppKit.framework*AppKit* +} + +{ + OSX1011:AppKit-7 + Memcheck:Cond + obj:*AppKit.framework*AppKit* + obj:*libdispatch.dylib* + obj:*libdispatch.dylib* +} + +{ + OSX1011:AppKit-8 + Memcheck:Cond + obj:*AppKit.framework*AppKit* + obj:*Foundation.framework*Foundation* + obj:*Foundation.framework*Foundation* +} + +{ + OSX1011:ColorSync-1 + Memcheck:Cond + obj:*ColorSync.framework*ColorSync* + obj:*ColorSync.framework*ColorSync* + obj:*ColorSync.framework*ColorSync* +} + +#{ +# OSX1011:ColorSync-2 +# Memcheck:Value8 +# obj:*ColorSync.framework*ColorSync* +# obj:*ColorSync.framework*ColorSync* +# obj:*ColorSync.framework*ColorSync* +#} + +{ + OSX1011:CoreGraphics-1 + Memcheck:Cond + obj:*CoreGraphics.framework*CoreGraphics* + obj:*CoreGraphics.framework*CoreGraphics* +} + +#{ +# OSX1011:CoreGraphics-2 +# Memcheck:Value8 +# obj:*CoreGraphics.framework*CoreGraphics* +# obj:*CoreGraphics.framework*CoreGraphics* +# obj:*CoreGraphics.framework*CoreGraphics* +#} + +{ + OSX1011:CoreGraphics-3 + Memcheck:Cond + obj:*CoreGraphics.framework*CoreGraphics* + obj:*CoreGraphics.framework*libRIP* + obj:*CoreGraphics.framework*libRIP* +} + +#{ +# OSX1011:CoreGraphics-4 +# Memcheck:Cond +# obj:*CoreGraphics.framework*CoreGraphics* +# obj:*CoreGraphics.framework*CoreGraphics* +# obj:*CoreGraphics.framework*libRIP* +#} + +{ + OSX1011:CoreGraphics-5 + Memcheck:Cond + obj:*CoreGraphics.framework*CoreGraphics* + obj:*libdispatch.dylib* + obj:*libdispatch.dylib* +} + +#{ +# OSX1011:CoreGraphics-6 +# Memcheck:Cond +# obj:*CoreGraphics.framework*CoreGraphics* +# obj:*CoreGraphics.framework*CoreGraphics* +# obj:*HIToolbox.framework*HIToolbox* +#} + +{ + OSX1011:HIServices-1 + Memcheck:Cond + obj:*HIServices.framework*HIServices* + obj:*HIToolbox.framework*HIToolbox* + obj:*HIToolbox.framework*HIToolbox* +} + +{ + OSX1011:LaunchServices-1 + Memcheck:Cond + obj:*LaunchServices.framework*LaunchServices* + obj:*AppKit.framework*AppKit* + obj:*AppKit.framework*AppKit* +} + +{ + OSX1011:LaunchServices-2 + Memcheck:Cond + obj:*LaunchServices.framework*LaunchServices* + obj:*libdispatch.dylib* + obj:*libdispatch.dylib* +} + +{ + OSX1011:QuartzCore-1 + Memcheck:Cond + obj:*QuartzCore.framework*QuartzCore + obj:*QuartzCore.framework*QuartzCore + obj:*QuartzCore.framework*QuartzCore +} + +#{ +# OSX1011:vImage-1 +# Memcheck:Cond +# obj:*vImage.framework*vImage* +# obj:*vImage.framework*vImage* +# obj:*CoreGraphics.framework*CoreGraphics* +#} + +{ + OSX1011:zlib-C + Memcheck:Cond + obj:/usr/lib/libz.*dylib + obj:/usr/lib/libz.*dylib +} + +{ + OSX1011:zlib-8 + Memcheck:Value8 + obj:/usr/lib/libz.*dylib + obj:/usr/lib/libz.*dylib +} + +#{ +# OSX1011:32bit:_libxpc_initializer +# Memcheck:Cond +# fun:_libxpc_initializer +# fun:libSystem_initializer +# fun:*ImageLoaderMachO*doModInitFunctions* +#} + +{ + OSX1011:dyld-1 + Memcheck:Cond + fun:*ImageLoader*weakBind* + fun:*ImageLoader*link* + fun:*dyld*link* +} + +{ + OSX1011:dyld-2 + Memcheck:Cond + fun:exit + obj:*libdyld*dylib* +} + +{ + OSX1011:libsystem_kernel-1 + Memcheck:Cond + obj:*libsystem_kernel*dylib* + obj:*libsystem_kernel*dylib* + obj:*CoreFoundation.framework*CoreFoundation* +} + +{ + OSX1011:CoreServicesInternal-1 + Memcheck:Cond + obj:*CoreServicesInternal.framework*CoreServicesInternal* + obj:*CoreServices.framework*LaunchServices* + obj:*CoreServices.framework*LaunchServices* +} + +{ + OSX1011:CoreServicesInternal-2 + Memcheck:Cond + obj:*CoreServicesInternal.framework*CoreServicesInternal* + obj:*CoreServicesInternal.framework*CoreServicesInternal* + obj:*CoreServicesInternal.framework*CoreServicesInternal* +} + +{ + OSX1011:CoreServicesInternal-3 + Memcheck:Cond + obj:*CoreServicesInternal.framework*CoreServicesInternal* + obj:*CoreServicesInternal.framework*CoreServicesInternal* + obj:*CoreFoundation.framework*CoreFoundation* +} + +{ + OSX1011:CoreServices-1 + Memcheck:Cond + obj:*CoreServices.framework*LaunchServices* + obj:*CoreServices.framework*LaunchServices* + obj:*CoreServices.framework*LaunchServices* +} + +##{ +## OSX1011:libsystem_pthread-1 +## Memcheck:Cond +## obj:*libsystem_pthread*dylib* +## obj:*ImageIO.framework*ImageIO* +## obj:*ImageIO.framework*ImageIO* +##} + +{ + OSX1011:ApplicationServices-1 + Memcheck:Cond + obj:*ApplicationServices.framework*ATS* + obj:*libsystem_pthread*dylib* + obj:*libsystem_platform*dylib* +} + +{ + OSX1011:HIToolbox-1 + Memcheck:Cond + obj:*HIToolbox.framework*HIToolbox* + obj:*HIToolbox.framework*HIToolbox* + obj:*HIToolbox.framework*HIToolbox* +} + +{ + OSX1011:RawCamera-1 + Memcheck:Cond + obj:*RawCamera.bundle*RawCamera* + obj:*libdispatch.dylib* + obj:*libdispatch.dylib* +} + +##{ +## OSX1011:CoreImage-1 +## Memcheck:Cond +## obj:*CoreImage.framework*CoreImage* +## obj:*CoreImage.framework*CoreImage* +## obj:*CoreImage.framework*CoreImage* +##} + +##{ +## OSX1011:strncpy-1 +## Memcheck:Cond +## fun:strncpy +## obj:*CoreServicesInternal.framework*CoreServicesInternal +## obj:*CoreServicesInternal.framework*CoreServicesInternal +##} + +{ + OSX1011:pthread_rwlock_init + Memcheck:Cond + fun:pthread_rwlock_init + obj:*ImageIO.framework*ImageIO* + obj:*ImageIO.framework*ImageIO* +} + +{ + OSX1011:CFBasicHash + Memcheck:Value8 + fun:*CFBasicHash* + fun:*CF* +} + +{ + OSX1011:AppleIntelHD4000GraphicsGLDriver-1-Addr8 + Memcheck:Addr8 + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* +} +{ + OSX1011:AppleIntelHD4000GraphicsGLDriver-1-Addr8 + Memcheck:Addr4 + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* +} + +{ + OSX1011:AppleIntelHD4000GraphicsGLDriver-2-Addr8 + Memcheck:Addr8 + fun:*platform_memmove* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* +} +{ + OSX1011:AppleIntelHD4000GraphicsGLDriver-2-Addr2 + Memcheck:Addr2 + fun:*platform_memmove* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* +} + +{ + OSX1011:AppleIntelHD4000GraphicsGLDriver-3-Addr8 + Memcheck:Addr8 + fun:*platform_memmove* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*GLEngine.bundle*GLEngine* +} +{ + OSX1011:AppleIntelHD4000GraphicsGLDriver-3-Addr2 + Memcheck:Addr2 + fun:*platform_memmove* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*GLEngine.bundle*GLEngine* +} +{ + OSX1011:AppleIntelHD4000GraphicsGLDriver-3-Addr1 + Memcheck:Addr1 + fun:*platform_memmove* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*GLEngine.bundle*GLEngine* +} + +{ + OSX1011:AppleIntelHD4000GraphicsGLDriver-4 + Memcheck:Addr8 + fun:*platform_bzero* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* +} + +{ + OSX1011:AppleIntelHD4000GraphicsGLDriver-6-Addr8 + Memcheck:Addr8 + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*GLEngine.bundle*GLEngine* +} +{ + OSX1011:AppleIntelHD4000GraphicsGLDriver-6-Addr4 + Memcheck:Addr4 + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*GLEngine.bundle*GLEngine* +} + +{ + OSX1011:AppleIntelHD4000GraphicsGLDriver-7 + Memcheck:Addr4 + obj:*AppleIntelHD4000GraphicsGLDriver.bundle*AppleIntelHD4000GraphicsGLDriver* + obj:*GLEngine.bundle*GLEngine* +} + +{ + OSX1011:OSAtomicAdd32 + Memcheck:Addr4 + fun:*OSAtomicAdd32* + obj:*IOAccelerator.framework*IOAccelerator* + obj:*GPUSupport.framework*GPUSupportMercury* +} + +{ + OSX1011:IOAccelerator-1 + Memcheck:Addr4 + obj:*IOAccelerator.framework*IOAccelerator* + obj:*GPUSupport.framework*GPUSupportMercury* +} + +{ + OSX1011:mach_msg_trap-1 + Memcheck:Param + msg->desc.port.name + fun:mach_msg_trap + obj:*libsystem_kernel.dylib* + obj:*SystemConfiguration.framework*SystemConfiguration* +} + +{ + OSX1011:mach_msg_trap-2 + Memcheck:Param + msg->desc.port.name + fun:mach_msg_trap + obj:*SystemConfiguration.framework*SystemConfiguration* + obj:*SystemConfiguration.framework*SystemConfiguration* +} + +# See https://bugs.kde.org/show_bug.cgi?id=188572 about this; it's +# unavoidable due to BSD setenv() semantics. +{ + macos-__setenv-leak-see-our-bug-188572 + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + fun:_owned_ptr_alloc + fun:setenv +} + +# See https://bugs.kde.org/show_bug.cgi?id=196528 +{ +macos-__pthread_rwlock_init-see-our-bug-196528 +Memcheck:Cond +fun:pthread_rwlock_init +} diff --git a/include/vki/vki-scnums-darwin.h b/include/vki/vki-scnums-darwin.h index f6a7a619d2..44708e6df3 100644 --- a/include/vki/vki-scnums-darwin.h +++ b/include/vki/vki-scnums-darwin.h @@ -509,7 +509,7 @@ #if DARWIN_VERS < DARWIN_10_10 #define __NR_sem_getvalue VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(274) -#elif DARWIN_VERS == DARWIN_10_10 +#elif DARWIN_VERS >= DARWIN_10_10 #define __NR_sysctlbyname VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(274) #endif @@ -733,6 +733,9 @@ #define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(456) #elif DARWIN_VERS == DARWIN_10_10 #define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(490) +#elif DARWIN_VERS == DARWIN_10_11 +// TODO Hackish, needs properly analysis +#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(490) #else #error unknown darwin version #endif diff --git a/shared/vg_replace_strmem.c b/shared/vg_replace_strmem.c index 0f366bf1c1..41e384dddc 100644 --- a/shared/vg_replace_strmem.c +++ b/shared/vg_replace_strmem.c @@ -204,7 +204,7 @@ static inline void my_exit ( int x ) //STRRCHR(VG_Z_DYLD, strrchr) //STRRCHR(VG_Z_DYLD, rindex) STRRCHR(VG_Z_LIBC_SONAME, strrchr) -# if DARWIN_VERS == DARWIN_10_9 || DARWIN_VERS == DARWIN_10_10 +# if DARWIN_VERS >= DARWIN_10_9 STRRCHR(libsystemZucZddylib, strrchr) # endif @@ -245,7 +245,7 @@ static inline void my_exit ( int x ) # if DARWIN_VERS == DARWIN_10_9 STRCHR(libsystemZuplatformZddylib, _platform_strchr) # endif -# if DARWIN_VERS == DARWIN_10_10 +# if DARWIN_VERS >= DARWIN_10_10 /* _platform_strchr$VARIANT$Generic */ STRCHR(libsystemZuplatformZddylib, _platform_strchr$VARIANT$Generic) STRCHR(libsystemZuplatformZddylib, _platform_strchr$VARIANT$Haswell) @@ -432,7 +432,7 @@ static inline void my_exit ( int x ) #elif defined(VGO_darwin) STRLEN(VG_Z_LIBC_SONAME, strlen) -# if DARWIN_VERS == DARWIN_10_9 || DARWIN_VERS == DARWIN_10_10 +# if DARWIN_VERS >= DARWIN_10_9 STRLEN(libsystemZucZddylib, strlen) # endif #endif @@ -506,7 +506,7 @@ static inline void my_exit ( int x ) #elif defined(VGO_darwin) STRNCPY(VG_Z_LIBC_SONAME, strncpy) -# if DARWIN_VERS == DARWIN_10_9 || DARWIN_VERS == DARWIN_10_10 +# if DARWIN_VERS >= DARWIN_10_9 STRNCPY(libsystemZucZddylib, strncpy) # endif @@ -585,7 +585,7 @@ static inline void my_exit ( int x ) #elif defined(VGO_darwin) STRNCMP(VG_Z_LIBC_SONAME, strncmp) -# if DARWIN_VERS == DARWIN_10_9 || DARWIN_VERS == DARWIN_10_10 +# if DARWIN_VERS >= DARWIN_10_9 STRNCMP(libsystemZuplatformZddylib, _platform_strncmp) # endif @@ -778,7 +778,7 @@ static inline void my_exit ( int x ) #elif defined(VGO_darwin) STRCMP(VG_Z_LIBC_SONAME, strcmp) -# if DARWIN_VERS == DARWIN_10_9 || DARWIN_VERS == DARWIN_10_10 +# if DARWIN_VERS >= DARWIN_10_9 STRCMP(libsystemZuplatformZddylib, _platform_strcmp) # endif @@ -810,7 +810,7 @@ static inline void my_exit ( int x ) MEMCHR(VG_Z_DYLD, memchr) MEMCHR(libsystemZuplatformZddylib, _platform_memchr) # endif -# if DARWIN_VERS == DARWIN_10_10 +# if DARWIN_VERS >= DARWIN_10_10 MEMCHR(VG_Z_DYLD, memchr) /* _platform_memchr$VARIANT$Generic */ MEMCHR(libsystemZuplatformZddylib, _platform_memchr$VARIANT$Generic) @@ -1007,7 +1007,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 || DARWIN_VERS == DARWIN_10_10 +# if DARWIN_VERS >= DARWIN_10_9 MEMCMP(libsystemZuplatformZddylib, _platform_memcmp) # endif @@ -1152,7 +1152,7 @@ static inline void my_exit ( int x ) # endif MEMMOVE(VG_Z_LIBC_SONAME, memmoveZDVARIANTZDsse3x) /* memmove$VARIANT$sse3x */ MEMMOVE(VG_Z_LIBC_SONAME, memmoveZDVARIANTZDsse42) /* memmove$VARIANT$sse42 */ -# if DARWIN_VERS == DARWIN_10_9 || DARWIN_VERS == DARWIN_10_10 +# if DARWIN_VERS >= DARWIN_10_9 /* _platform_memmove$VARIANT$Ivybridge */ MEMMOVE(libsystemZuplatformZddylib, ZuplatformZumemmoveZDVARIANTZDIvybridge) # endif