]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Darwin: remove support for old systems
authorPaul Floyd <pjfloyd@wanadoo.fr>
Tue, 9 Dec 2025 08:41:01 +0000 (09:41 +0100)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Tue, 9 Dec 2025 08:41:01 +0000 (09:41 +0100)
Valgrind no longer builds on Darwin 11 / Mac OS X 10.7. So remove support
for Darwin 9 to Darwin 11 inclusive.

Makefile.am
configure.ac
darwin9-drd.supp [deleted file]
darwin9.supp [deleted file]

index 4a62915bbc9235df4429fc9f9ba815841cd9ada9..abac4d2037a1e40d584bf2c7aff4bf1fb7f275e3 100644 (file)
@@ -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 \
index 8b7799ee3da20f1f419789e0e6da9fccede394a1..e251d795dbe327165bc6cf96cf682e0fb6b93c80 100644 (file)
@@ -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 (file)
index ea30143..0000000
+++ /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 (file)
index f7769c7..0000000
+++ /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*
-}