From: Paul Floyd Date: Mon, 8 Dec 2025 07:24:46 +0000 (+0100) Subject: Darwin suppressions: start cleaning up the suppression files X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c6633256afa17b4b47e461563f2441d0d262b4b;p=thirdparty%2Fvalgrind.git Darwin suppressions: start cleaning up the suppression files This commit moves DRD suppressions from darwin17.supp to darwin10-drd.supp. It also removes some pthread lib suppressions. There's an obj suppression at the top level for libsystem_pthread.dylib that should cover all that. I want to avoid having 20+ Darwin suppression files (and rising with every new version). I'd like to have something a bit more like FreeBSD, with one suppression file for memcheck, one for DRD and one for Helgrind. That might be a bit optimistic (especially when DSC support lands). So what I'll do to begin with is to merge all of the Darwin <= 16 memcheck files into one darwin-legacy.supp, split out a new darwin-helgrind.supp file and rename darwin10-drd.supp to just darwin-drd.supp. That leaves darwin9-drd.supp which I'll either rename or merge. --- diff --git a/darwin10-drd.supp b/darwin10-drd.supp index 6bb8103df..e8cccdaab 100644 --- a/darwin10-drd.supp +++ b/darwin10-drd.supp @@ -103,60 +103,199 @@ fun:mig_dealloc_reply_port } +{ + OSX1013:drd:nanosleep + drd:ConflictingAccess + fun:nanosleep +} + # # pthread library # + +{ + OSX1013:drd:pthread library + drd:ConflictingAccess + obj:/usr/lib/system/libsystem_pthread.dylib +} + +{ + OSX1013:std::timed_mutex::unlock + drd:ConflictingAccess + fun:_ZNSt3__111timed_mutex6unlockEv +} +{ + std::timed_mutex::try_lock_until + drd:ConflictingAccess + fun:_ZNSt3__111timed_mutex14try_lock_untilINS_6chrono12steady_clockENS2_8durationIxNS_5ratio* +} +{ + OSX1013:mach_timebase_info + drd:ConflictingAccess + fun:mach_timebase_info +} +# take care with this, don't want to suppress anything in user +# thread functions +{ + OSX1013:_pthread_body + drd:ConflictingAccess + fun:_pthread_body +} + +# various getaddrinfo suppressions +{ + OSX1013:exit + drd:ConflictingAccess + ... + fun:exit +} + +{ + OSX1013:freeaddrinfo + drd:ConflictingAccess + fun:freeaddrinfo +} + +{ + OSX1013:getaddrinfo + drd:ConflictingAccess + ... + fun:getaddrinfo +} + +{ + OSX1013:drd:si_addrinfo + drd:ConflictingAccess + ... + fun:si_addrinfo +} + +{ + OSX1013:cache_fill + drd:ConflictingAccess + fun:_ZN7cache_t10reallocateEjj + fun:cache_fill +} +{ + OSX1013:os_unfair_lock + drd:ConflictingAccess + ... + fun:*os_unfair_lock* +} +{ + OSX1013:objc_msgSend + drd:ConflictingAccess + fun:objc_msgSend +} +{ + OSX1013:cache_fill + drd:ConflictingAccess + fun:cache_fill +} +{ + OSX1013:_nc_table + drd:ConflictingAccess + fun:_nc_table_* +} + { - thread_start + OSX1013:drd:xpc_dictionary_apply drd:ConflictingAccess - obj:* - fun:thread_start + ... + fun:xpc_dictionary_apply } + { - pthread_create() + OSX1013:drd:getaddrinfo drd:ConflictingAccess ... - fun:pthread_create + fun:getaddrinfo } + { - drd-darwin-pthread-join-1 + OSX1013:drd:xpc_create_from_plist drd:ConflictingAccess ... - fun:pthread_join$UNIX2003 + fun:xpc_create_from_plist } + { - drd-darwin-pthread-join-2 + OSX1013:helgrind:nw_path_copy_interface_with_generation_internal drd:ConflictingAccess ... - fun:pthread_join - fun:pthread_join + fun:nw_path_copy_interface_with_generation_internal +} + +{ + OSX1013:helgrind:sem_trywait + Helgrind:Race + fun:sem_trywait } + { - _pthread_exit() + OSX1013:drd:object_dispose drd:ConflictingAccess ... - fun:_pthread_exit + fun:object_dispose } + { - pthread_detach() + OSX1013:drd:dispatch_once_f drd:ConflictingAccess ... - fun:pthread_detach - fun:pthread_detach + fun:dispatch_once_f } + { - pthread_kill() + OSX1013:drd:objc_destructInstance drd:ConflictingAccess ... - fun:pthread_kill + fun:objc_destructInstance } + { - spin_unlock() + OSX1013:drd:xpc_pipe_routine drd:ConflictingAccess - fun:spin_unlock + ... + fun:xpc_pipe_routine } + +{ + OSX1013:drd:__si_module_static_cache_block_invoke + drd:MutexErr + fun:pthread_mutex_init + fun:__si_module_static_cache_block_invoke +} + +{ + OSX1013:drd:setlocale + drd:ConflictingAccess + ... + fun:setlocale +} + +{ + OSX1013:drd:std::__1::__thread_specific_ptr::set_pointer(std::__1::__thread_struct*) + + drd:ConflictingAccess + fun:_ZNSt3__121__thread_specific_ptrINS_15__thread_structEE11set_pointerEPS1_ +} + +{ + OSX1013:drd:std::__1::__thread_local_data + drd:ConflictingAccess + fun:_ZNSt3__119__thread_local_dataEv +} + +{ + OSX1013:drd:get_counter + drd:ConflictingAccess + fun:_ZL11get_counterv +} + { - _pthread_testcancel() + OSX1013:drd:gomp_barier_wait drd:ConflictingAccess - fun:_pthread_testcancel + fun:gomp_barrier_wait + fun:child } diff --git a/darwin17.supp b/darwin17.supp index 71d79d844..4216421a2 100644 --- a/darwin17.supp +++ b/darwin17.supp @@ -873,66 +873,6 @@ fun:nanosleep } -{ - OSX1013:drd:nanosleep - drd:ConflictingAccess - fun:nanosleep -} -{ - OSX1013:drd:pthread library - drd:ConflictingAccess - obj:/usr/lib/system/libsystem_pthread.dylib -} -{ - OSX1013:std::timed_mutex::unlock - drd:ConflictingAccess - fun:_ZNSt3__111timed_mutex6unlockEv -} -{ - std::timed_mutex::try_lock_until - drd:ConflictingAccess - fun:_ZNSt3__111timed_mutex14try_lock_untilINS_6chrono12steady_clockENS2_8durationIxNS_5ratio* -} -{ - OSX1013:mach_timebase_info - drd:ConflictingAccess - fun:mach_timebase_info -} -# take care with this, don't want to suppress anything in user -# thread functions -{ - OSX1013:_pthread_body - drd:ConflictingAccess - fun:_pthread_body -} - -# various getaddrinfo suppressions -{ - OSX1013:exit - drd:ConflictingAccess - ... - fun:exit -} - -{ - OSX1013:freeaddrinfo - drd:ConflictingAccess - fun:freeaddrinfo -} - -{ - OSX1013:getaddrinfo - drd:ConflictingAccess - ... - fun:getaddrinfo -} - -{ - OSX1013:drd:si_etaddrinfo - drd:ConflictingAccess - ... - fun:si_addrinfo -} { OSX1013:helgrind:nw_path_copy_interface_with_generation_internal @@ -941,62 +881,6 @@ fun:nw_path_copy_interface_with_generation_internal } -{ - OSX1013:cache_fill - drd:ConflictingAccess - fun:_ZN7cache_t10reallocateEjj - fun:cache_fill -} -{ - OSX1013:os_unfair_lock - drd:ConflictingAccess - ... - fun:*os_unfair_lock* -} -{ - OSX1013:objc_msgSend - drd:ConflictingAccess - fun:objc_msgSend -} -{ - OSX1013:cache_fill - drd:ConflictingAccess - fun:cache_fill -} -{ - OSX1013:_nc_table - drd:ConflictingAccess - fun:_nc_table_* -} - -{ - OSX1013:drd:xpc_dictionary_apply - drd:ConflictingAccess - ... - fun:xpc_dictionary_apply -} - -{ - OSX1013:drd:getaddrinfo - drd:ConflictingAccess - ... - fun:getaddrinfo -} - -{ - OSX1013:drd:xpc_create_from_plist - drd:ConflictingAccess - ... - fun:xpc_create_from_plist -} - -{ - OSX1013:helgrind:nw_path_copy_interface_with_generation_internal - drd:ConflictingAccess - ... - fun:nw_path_copy_interface_with_generation_internal -} - { OSX1013:helgrind:rwlock_tt::read() @@ -1022,76 +906,3 @@ fun:_os_unfair_lock_lock_slow } -{ - OSX1013:helgrind:sem_trywait - Helgrind:Race - fun:sem_trywait -} - -{ - OSX1013:drd:object_dispose - drd:ConflictingAccess - ... - fun:object_dispose -} - -{ - OSX1013:drd:dispatch_once_f - drd:ConflictingAccess - ... - fun:dispatch_once_f -} - -{ - OSX1013:drd:objc_destructInstance - drd:ConflictingAccess - ... - fun:objc_destructInstance -} - -{ - OSX1013:drd:xpc_pipe_routine - drd:ConflictingAccess - ... - fun:xpc_pipe_routine -} - -{ - OSX1013:drd:__si_module_static_cache_block_invoke - drd:MutexErr - fun:pthread_mutex_init - fun:__si_module_static_cache_block_invoke -} - -{ - OSX1013:drd:setlocale - drd:ConflictingAccess - ... - fun:setlocale -} - -{ - OSX1013:drd:std::__1::__thread_specific_ptr::set_pointer(std::__1::__thread_struct*) - - drd:ConflictingAccess - fun:_ZNSt3__121__thread_specific_ptrINS_15__thread_structEE11set_pointerEPS1_ -} - -{ - OSX1013:drd:std::__1::__thread_local_data - drd:ConflictingAccess - fun:_ZNSt3__119__thread_local_dataEv -} - -{ - OSX1013:drd:get_counter - drd:ConflictingAccess - fun:_ZL11get_counterv -} - -{ - OSX1013:drd:gomp_barier_wait - drd:ConflictingAccess - fun:gomp_barrier_wait - fun:child -}