From: Paul Floyd Date: Tue, 9 Dec 2025 08:41:01 +0000 (+0100) Subject: Darwin: remove support for old systems X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=47e1fa5d26f4128eb3564d78ec317dd8a0d54118;p=thirdparty%2Fvalgrind.git Darwin: remove support for old systems Valgrind no longer builds on Darwin 11 / Mac OS X 10.7. So remove support for Darwin 9 to Darwin 11 inclusive. --- diff --git a/Makefile.am b/Makefile.am index 4a62915bb..abac4d203 100644 --- a/Makefile.am +++ b/Makefile.am @@ -47,7 +47,6 @@ SUPP_FILES = \ glibc-2.X-helgrind.supp \ glibc-2.2-LinuxThreads-helgrind.supp \ glibc-2.X-drd.supp \ - darwin9.supp darwin9-drd.supp \ freebsd.supp freebsd-helgrind.supp freebsd-drd.supp \ darwin-legacy.supp darwin.supp \ darwin-drd.supp darwin-helgrind.supp \ diff --git a/configure.ac b/configure.ac index 8b7799ee3..e251d795d 100644 --- a/configure.ac +++ b/configure.ac @@ -508,11 +508,7 @@ case "${host_os}" in DARWIN_DRD_SUPP="darwin-drd.supp" case "${kernel}" in - 9.*) - DARWIN_DRD_SUPP="darwin9-drd.supp" - DEFAULT_SUPP="$srcdir/darwin-legacy.supp ${DEFAULT_SUPP}" - ;; - 1[0-6].*) + 1[2-6].*) DEFAULT_SUPP="$srcdir/darwin-legacy.supp ${DEFAULT_SUPP}" ;; *) @@ -522,18 +518,6 @@ case "${host_os}" in case "${kernel}" in - 9.*) - AC_MSG_RESULT([Darwin 9.x (${kernel}) / Mac OS X 10.5 Leopard]) - DARWIN_VERS=$DARWIN_10_5 - ;; - 10.*) - AC_MSG_RESULT([Darwin 10.x (${kernel}) / Mac OS X 10.6 Snow Leopard]) - DARWIN_VERS=$DARWIN_10_6 - ;; - 11.*) - AC_MSG_RESULT([Darwin 11.x (${kernel}) / Mac OS X 10.7 Lion]) - DARWIN_VERS=$DARWIN_10_7 - ;; 12.*) AC_MSG_RESULT([Darwin 12.x (${kernel}) / Mac OS X 10.8 Mountain Lion]) DARWIN_VERS=$DARWIN_10_8 @@ -560,7 +544,7 @@ case "${host_os}" in ;; *) AC_MSG_RESULT([unsupported (${darwin_platform} ${kernel})]) - AC_MSG_ERROR([Valgrind works on Darwin 10.x-25.x (Mac OS X 10.6-10.11, macOS 10.12-10.13)]) + AC_MSG_ERROR([Valgrind works on Darwin 10.x-25.x (Mac OS X 10.8-10.11, macOS 10.12-10.13)]) ;; esac diff --git a/darwin9-drd.supp b/darwin9-drd.supp deleted file mode 100644 index ea301431b..000000000 --- a/darwin9-drd.supp +++ /dev/null @@ -1,469 +0,0 @@ - -# DRD suppressions for Darwin 9.x / Mac OS X 10.5 Leopard - -# -# Suppression patterns for dyld, the dynamic loader. -# - -{ - drd-darwin-dyld-register-func-for-add-image - drd:MutexErr - fun:pthread_mutex_unlock - fun:_dyld_register_func_for_add_image - fun:__keymgr_initializer - fun:libSystem_initializer -} -{ - drd-darwin-dyld-register-func-for-remove-image - drd:MutexErr - fun:pthread_mutex_unlock - fun:_dyld_register_func_for_remove_image - fun:__keymgr_initializer - fun:libSystem_initializer -} -{ - drd-darwin-dyld-GlobalLockInitialize - drd:MutexErr - fun:pthread_mutex_init - fun:_Z24dyldGlobalLockInitializev - fun:_dyld_initializer -} -{ - drd-darwin-dyld-bindLazySymbol - drd:ConflictingAccess - ... - fun:_ZN4dyld14bindLazySymbolEPK11mach_headerPm - fun:stub_binding_helper_interface2 -} -{ - drd-darwin-dyld-addImage - drd:ConflictingAccess - fun:_ZN4dyld8addImageEP11ImageLoader -} -{ - dyld-ImageLoader::link - drd:ConflictingAccess - ... - fun:_ZN4dyld18notifyBatchPartialE17dyld_image_statesbPFPKcS0_jPK15dyld_image_infoE - fun:_ZN11ImageLoader4linkERKNS_11LinkContextEbbRKNS_10RPathChainE - fun:_ZN4dyld4linkEP11ImageLoaderbRKNS0_10RPathChainE -} -{ - drd-darwin-dyld-ImageLoaderMachO::resolveUndefined - drd:ConflictingAccess - ... - fun:_ZN16ImageLoaderMachO16resolveUndefinedERKN11ImageLoader11LinkContextEPK11macho_nlistbPPKS0_ -} -{ - drd-darwin-dyld-ImageLoaderMachO::findExportedSymbol - drd:ConflictingAccess - fun:_ZNK16ImageLoaderMachO18findExportedSymbolEPKcPKvbPPK11ImageLoader - fun:_ZNK11ImageLoader41findExportedSymbolInDependentImagesExceptEPKcPPKS_RS4_S4_S4_ - fun:_ZNK11ImageLoader42findExportedSymbolInImageOrDependentImagesEPKcRKNS_11LinkContextEPPKS_ - fun:dlsym -} - - -# -# Suppression patterns for libc, Darwin's C library. -# - -{ - drd-darwin-libc-cerror - drd:ConflictingAccess - ... - fun:cerror -} -{ - drd-darwin-libc-rand - drd:ConflictingAccess - fun:do_rand -} -{ - drd-darwin-libc-vfprintf-1 - drd:ConflictingAccess - fun:vfprintf_l -} -{ - drd-darwin-libc-vfprintf-2 - drd:ConflictingAccess - fun:__vfprintf -} -{ - drd-darwin-libc-localeconv - drd:ConflictingAccess - fun:localeconv_l -} -{ - drd-darwin-libc-fwrite - drd:ConflictingAccess - ... - fun:fwrite$UNIX2003 -} -{ - drd-darwin-cxa-guard-acquire - drd:ConflictingAccess - obj:* - fun:__cxa_current_exception_type - fun:__cxa_guard_acquire -} -{ - drd-darwin-cxa-guard-release - drd:ConflictingAccess - fun:__cxa_guard_release -} -{ - drd-darwin-cxa-finalize - drd:MutexErr - fun:pthread_mutex_destroy - fun:__tcf_115 - fun:__cxa_finalize - fun:exit -} -{ - drd-darwin-atexit-register - drd:ConflictingAccess - fun:atexit_register -} -{ - drd-darwin-opendir - drd:ConflictingAccess - fun:telldir$UNIX2003 - fun:__opendir2$UNIX2003 - fun:opendir$UNIX2003 -} -{ - drd-darwin-readdir - drd:ConflictingAccess - fun:readdir -} -{ - drd-darwin-closedir - drd:ConflictingAccess - fun:closedir$UNIX2003 -} -{ - drd:darwin-ptrace - drd:ConflictingAccess - fun:ptrace -} - - -# -# Suppression patterns for libpthread, Darwin's POSIX threads implementation. -# - -{ - drd-darwin-pthread-create-1 - drd:ConflictingAccess - obj:* - fun:thread_start -} -{ - drd-darwin-pthread-create-2 - drd:ConflictingAccess - ... - fun:pthread_create* -} -{ - drd-darwin-pthread-join-1 - drd:ConflictingAccess - ... - fun:pthread_join$UNIX2003 -} -{ - drd-darwin-pthread-exit - drd:ConflictingAccess - ... - fun:_pthread_exit -} -{ - drd-darwin-pthread-find-thread - drd:ConflictingAccess - fun:_pthread_find_thread -} -{ - drd-darwin-pthread-spin-unlock - drd:ConflictingAccess - fun:spin_unlock -} -{ - drd-darwin-pthread-testcancel - drd:ConflictingAccess - fun:_pthread_testcancel -} -{ - drd-darwin-pthread-detach - drd:ConflictingAccess - ... - fun:pthread_detach -} -{ - drd-darwin-pthread-detach - drd:CondRaceErr - ... - fun:pthread_detach -} -{ - drd-darwin-pthread-kill - drd:ConflictingAccess - ... - fun:pthread_kill -} -{ - drd-darwin-pthread-free-pthread-onstack - drd:ConflictingAccess - fun:mig_dealloc_reply_port - fun:_pthread_free_pthread_onstack -} -{ - drd-darwin-pthread-mach-thread-np - drd:ConflictingAccess - ... - fun:pthread_mach_thread_np -} -{ - drd-darwin-pthread-key-create - drd:ConflictingAccess - fun:pthread_key_create -} - - -# -# Suppression patterns for libobjc. -# - -# It looks like the implementation of objc_msgSend uses another means than the -# POSIX threads library for locking. More information about messaging and -# objc_msgSend can be found here: -# http://devworld.apple.com/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtHowMessagingWorks.html -# - -{ - drd-darwin-objc-msgSend - drd:ConflictingAccess - ... - fun:objc_msgSend -} -{ - drd-darwin-objc-msgSend - drd:ConflictingAccess - ... - fun:objc_sync_enter -} - - -# -# Suppression patterns for CoreFoundation.framework. -# - -# Suppressions for NSObject methods. For more information about the NSObject -# class, see also -# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/Reference/Reference.html -{ - drd-darwin-NSObject-release - drd:ConflictingAccess - ... - fun:-[NSObject release] -} -{ - drd-darwin-NSObject-autorelease-1 - drd:ConflictingAccess - ... - fun:-[NSObject(NSObject) autorelease] -} -{ - drd-darwin-NSObject-autorelease-2 - drd:ConflictingAccess - fun:__NSAutoreleaseObject -} -{ - drd-darwin-NSObject-NSDeallocateObject - drd:ConflictingAccess - fun:_internal_object_dispose - fun:NSDeallocateObject -} -{ - drd-darwin-NSObject-retain - drd:ConflictingAccess - ... - fun:-[NSObject retain] -} -{ - drd-darwin-NSObject-retainCount - drd:ConflictingAccess - ... - fun:-[NSObject retainCount] -} -{ - drd-darwin-NSObject-NSDelayedPerforming-1 - drd:ConflictingAccess - ... - fun:+[NSObject(NSDelayedPerforming) cancelPreviousPerformRequestsWithTarget:selector:object:] -} -{ - drd-darwin-NSObject-NSDelayedPerforming-2 - drd:ConflictingAccess - ... - fun:-[NSObject(NSDelayedPerforming) performSelector:withObject:afterDelay:] -} -{ - drd-darwin-NSObject-NSDelayedPerforming-3 - drd:ConflictingAccess - ... - fun:-[NSObject(NSDelayedPerforming) performSelector:withObject:afterDelay:inModes:] -} -{ - drd-darwin-NSObject-NSDelayedPerforming-4 - drd:ConflictingAccess - ... - fun:-[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:] -} -{ - drd-darwin-NSObject-NSDelayedPerforming-5 - drd:ConflictingAccess - ... - fun:-[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:] -} - -# Suppressions for methods of the NSThread class. -{ - drd-NSThread-nq - drd:ConflictingAccess - ... - fun:-[NSThread _nq:] -} - -# Suppressions for methods of the NSLock class. See also -# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSLock_Class/Reference/Reference.html -{ - drd-darwin-NSLock-lock - drd:ConflictingAccess - fun:-[NSLock lock] -} -{ - drd-darwin-NSLock-unlock - drd:ConflictingAccess - fun:-[NSLock unlock] -} -# Suppressions for NSCondition methods. -{ - drd-darwin-NSConditionLock-lock - drd:ConflictingAccess - fun:-[NSCondition lock] -} -# Suppressions for NSConditionLock methods. -{ - drd-darwin-NSConditionLock-lockWhenCondition:beforeDate: - drd:ConflictingAccess - fun:-[NSConditionLock lockWhenCondition:beforeDate:] -} - - -# NSExtraRefCount returns the specified object's reference count, and -# NSDecrementExtraRefCountWasZero decrements the specified object's reference -# count. -# See also http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Functions/Reference/reference.html -{ - drd-darwin-NSExtraRefCount - drd:ConflictingAccess - ... - fun:NSExtraRefCount -} -{ - drd-darwin-NSDecrementExtraRefCountWasZero - drd:ConflictingAccess - ... - fun:NSDecrementExtraRefCountWasZero -} -# For more information about key-value observing, see also the NSKeyValueObserving Protocol Reference: -# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Protocols/NSKeyValueObserving_Protocol/Reference/Reference.html -{ - drd-darwin-NSKVONotify - drd:ConflictingAccess - ... - fun:NSKVONotify -} -{ - drd-darwin-NSKVONotifyingEnableForInfoAndKey - drd:ConflictingAccess - ... - fun:_NSKVONotifyingEnableForInfoAndKey -} -# From the NSRunLoop class reference: -# Warning: The NSRunLoop class is generally not considered to be thread-safe -# and its methods should only be called within the context of the current -# thread. You should never try to call the methods of an NSRunLoop object -# running in a different thread, as doing so might cause unexpected results. -# See also the NSRunLoop Class Reference: -# http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSRunLoop_Class/Reference/Reference.html -# { -# drd-darwin-CFRunLoop* -# drd:ConflictingAccess -# ... -# fun:CFRunLoop* -# } -# See also the CFBag reference: -# http://developer.apple.com/documentation/CoreFoundation/Reference/CFBagRef/Reference/reference.html -# { -# drd-darwin-CFBag* -# drd:ConflictingAccess -# fun:CFBag* -# } - -# Suppression patterns for the memory allocation functions in WTF. -{ - drd-WTF::fastCalloc - drd:ConflictingAccess - ... - fun:_ZN3WTF10fastCallocEmm -} -{ - drd-WTF::fastMalloc - drd:ConflictingAccess - ... - fun:_ZN3WTF10fastMallocEm -} -{ - drd-WTF::fastFree - drd:ConflictingAccess - ... - fun:_ZN3WTF8fastFreeEPv -} - -# Suppression patterns for the string manipulation functions in WebCore. -{ - drd-WebCore::StringImpl::init - drd:ConflictingAccess - ... - fun:_ZN7WebCore10StringImpl4initEPKcj -} -{ - drd-WebCore::StringImpl::append - drd:ConflictingAccess - ... - fun:_ZN7WebCore10StringImpl6appendEPKtj -} -{ - drd-WebCore::CString::init - drd:ConflictingAccess - ... - fun:_ZN7WebCore7CString4initEPKcj -} - -# Suppression patterns for the text encoding functions in WebCore. -{ - drd-WebCore::WebCore::TextCodec::~TextCodec() - drd:ConflictingAccess - fun:_ZN7WebCore9TextCodecD2Ev -} -{ - drd-WebCore::TextCodecICU::TextCodecICU - drd:ConflictingAccess - fun:_ZN7WebCore12TextCodecICUC2ERKNS_12TextEncodingE -} -{ - drd-WebCore::TextCodecICU::~TextCodecICU - drd:ConflictingAccess - fun:_ZN7WebCore12TextCodecICUD0Ev -} diff --git a/darwin9.supp b/darwin9.supp deleted file mode 100644 index f7769c7c5..000000000 --- a/darwin9.supp +++ /dev/null @@ -1,297 +0,0 @@ - -# Suppressions for Darwin 9.x / Mac OS X 10.5 Leopard - -##----------------------------------------------------------------------## -# Memcheck -##----------------------------------------------------------------------## - -{ - mach_msg_trap-1 - Memcheck:Param - mach_msg(msg.msgh_remote_port) - fun:mach_msg_trap - obj:/System/Library/Frameworks/CoreFoundation* - obj:/System/Library/Frameworks/ApplicationServices* -} - -{ - mach_msg_trap-2 - Memcheck:Param - mach_msg(msg.msgh_remote_port) - fun:mach_msg_trap - obj:/System/Library/Frameworks/CoreFoundation* - obj:/System/Library/Frameworks/CoreServices* -} - -{ - mach_msg_trap-3 - Memcheck:Param - mach_msg(msg.msgh_remote_port) - fun:mach_msg_trap - obj:/System/Library/Frameworks/CoreFoundation* - obj:/System/Library/Frameworks/Carbon* -} - -{ - mach_msg_trap-4 - Memcheck:Param - mach_msg(msg.msgh_remote_port) - fun:mach_msg_trap - obj:/System/Library/Frameworks/CoreFoundation* - obj:/System/Library/Frameworks/CoreFoundation* -} - -{ - mach_msg_trap-5 - Memcheck:Param - mach_msg(msg.msgh_remote_port) - fun:mach_msg_trap - obj:/System/Library/Frameworks/CoreFoundation* - obj:/System/Library/Frameworks/AppKit* -} - -{ - macos-Cond-1 - Memcheck:Cond - fun:GetVariationInfoFromName - obj:/System/Library/Frameworks/ApplicationServices* - obj:/System/Library/Frameworks/ApplicationServices* -} - -{ - macos-Cond-2 - Memcheck:Cond - fun:*PMMutex*Lock* - obj:/System/Library/Frameworks/ApplicationServices* - obj:/System/Library/Frameworks/ApplicationServices* -} - -{ - macos-Cond-3 - Memcheck:Cond - fun:sseCGSBlendXXXX8888 - obj:/System/Library/Frameworks/ApplicationServices* - obj:/System/Library/Frameworks/ApplicationServices* -} - -{ - macos-Cond-4 - Memcheck:Cond - fun:*CASettingsStorage*RefreshSettings* - obj:/System/Library/Frameworks/CoreAudio* - obj:/System/Library/Frameworks/CoreAudio* -} - -{ - macos-Cond-5 - Memcheck:Cond - fun:gle* - obj:/System/Library/Frameworks/OpenGL* - obj:/System/Library/Frameworks/OpenGL* -} - -{ - macos-Cond-6 - Memcheck:Cond - fun:pthread_rwlock_init$UNIX2003 - fun:main -} - -# afaict this is legit. Might be caused by setenv("VAR=") -# where the value string is empty (not sure) -{ - macos-Cond-7 - Memcheck:Cond - fun:__setenv - fun:putenv* -} - -{ - macos-futimes-1 - Memcheck:Param - futimes(tvp[1]) - fun:futimes - obj:/usr/lib/libSystem* - obj:/usr/lib/libSystem* -} - -{ - macos-vsyslog-hole - Memcheck:Param - socketcall.sendto(msg) - fun:sendto$NOCANCEL$UNIX2003 - fun:vsyslog -} - -# Still-reachable memory. - -# I chopped this one off at libSystem_initializer, there were more frames. -{ - darwin-still-reachable-1 - Memcheck:Leak - fun:calloc - fun:dwarf2_unwind_dyld_add_image_hook - fun:_ZN4dyld19registerAddCallbackEPFvPK11mach_headerlE - fun:_dyld_register_func_for_add_image - fun:__keymgr_initializer - fun:libSystem_initializer -} - -# I chopped this one off at libSystem_initializer, there were more frames. -{ - darwin-still-reachable-2 - Memcheck:Leak - fun:malloc - fun:get_or_create_key_element - fun:_keymgr_get_and_lock_processwide_ptr_2 - fun:dwarf2_unwind_dyld_add_image_hook - fun:_ZN4dyld19registerAddCallbackEPFvPK11mach_headerlE - fun:_dyld_register_func_for_add_image - fun:__keymgr_initializer - fun:libSystem_initializer -} - -{ - darwin-still-reachable-3 - Memcheck:Leak - fun:malloc - fun:__smakebuf - fun:__swsetup - fun:__sfvwrite - fun:puts -} - -# Genuine leaks. -# 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 - fun:malloc_zone_malloc - fun:__setenv - fun:setenv$UNIX2003 -} -{ - macos-localeconv-leak - Memcheck:Leak - fun:malloc - fun:localeconv_l - fun:__vfprintf - fun:vsnprintf -} - -{ - macos-TFontFeatures::TFontFeatures(unsigned long)-uninitialised-stack-val - Memcheck:Cond - fun:_ZN13TFontFeaturesC2Em - fun:_ZNK9TBaseFont12CopyFeaturesEv -} - -# Conditional jump or move depends on uninitialised value(s) -# at 0x4E5CD59: _DPSNextEvent (in /System/Library/Frameworks -# /AppKit.framework/Versions/C/AppKit) -# by 0x4E5BF87: -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] -# (in /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit) -# by 0x4E54F9E: -[NSApplication run] (in /System/Library/Frameworks -# /AppKit.framework/Versions/C/AppKit) -# Uninitialised value was created by a stack allocation -# at 0x4E5C450: _DPSNextEvent (in /System/Library/Frameworks -# /AppKit.framework/Versions/C/AppKit) -{ - macos-_DPSNextEvent-stack-allocated-uninit - Memcheck:Cond - fun:_DPSNextEvent -} - - -##----------------------------------------------------------------------## -# Helgrind -##----------------------------------------------------------------------## - -# These ones were necessary to give no errors on a tiny non-threaded -# program. I don't know if they're real problems or false positives (njn). - -# keymgr seems to deliberately do some bogus actions, and if they are bogus, -# it passes the error codes back to the caller. -{ - __keymgr_initializer lock failed - Helgrind:PthAPIerror - fun:pthread_mutex_lock - fun:_dyld_register_func_for_*_image - fun:__keymgr_initializer - fun:libSystem_initializer -} -{ - __keymgr_initializer unlock failed - Helgrind:PthAPIerror - fun:pthread_mutex_unlock - fun:_dyld_register_func_for_*_image - fun:__keymgr_initializer - fun:libSystem_initializer -} -{ - __keymgr_initializer bogus unlock - Helgrind:UnlockBogus - fun:pthread_mutex_unlock - fun:_dyld_register_func_for_*_image - fun:__keymgr_initializer - fun:libSystem_initializer -} - -# These ones were necessary to give no errors on a tiny threaded program. -# I don't know if they're real problems or false positives (njn). - -#{ -# helgrind-darwinlibc-nuke-everything-in-dyld -# Helgrind:Race -# obj:/usr/lib/dyld -#} - -{ - helgrind-darwinlibc-nuke-everything-in-libSystem.B.dylib - Helgrind:Race - obj:/usr/lib/libSystem.B.dylib -} - -# This would be better as "fun:\?\?\?" but string matching doesn't seem to -# allow escaping meta-chars. -# -# This is very bad .. not only will it hide races in any -# un-identified piece of code, the ??? also matches any 3-char -# function name. -{ - helgrind-darwinlibc-nuke-everything-in-???-(unknown-code) - Helgrind:Race - fun:??? -} - -{ - helgrind-darwinlibc--mythread_wrapper-*thread*start* - Helgrind:Race - fun:mythread_wrapper - fun:*thread*start* -} - -{ - helgrind-darwinlibc--pthread_create_WRK-pthread_create - Helgrind:Race - fun:pthread_create_WRK - fun:pthread_create -} - - -# Thread #9: Bug in libpthread: recursive write lock granted on -# mutex/wrlock which does not support recursion -# at 0x18696: pthread_cond_wait* (hg_intercepts.c:655) -# by 0x2300B8: pthread_rwlock_wrlock$UNIX2003 (in /usr/lib/libSystem.B.dylib) -# by 0x18F41: pthread_rwlock_wrlock* (hg_intercepts.c:1177) -# -# no idea what this is about -# -{ - helgrind-darwin9--pthread-rwlock-kludgery - Helgrind:Misc - fun:pthread_cond_wait* - fun:pthread_rwlock_*lock* - fun:pthread_rwlock_*lock* -}