From: Paul Floyd Date: Mon, 8 Dec 2025 19:26:21 +0000 (+0100) Subject: Darwin suppressions: split out a new Helgrind suppression file X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a6d05e329bcad1348ceaaad1e2582a679b6a595f;p=thirdparty%2Fvalgrind.git Darwin suppressions: split out a new Helgrind suppression file Rename darwin10-drd.supp to darwin-drd.supp, this will be the basis for all Darwin suppressions. --- diff --git a/Makefile.am b/Makefile.am index 6c5b9f5b6..2bf7c195e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -49,9 +49,10 @@ SUPP_FILES = \ glibc-2.X-drd.supp \ darwin9.supp darwin9-drd.supp \ freebsd.supp freebsd-helgrind.supp freebsd-drd.supp \ - darwin10.supp darwin10-drd.supp \ + darwin10.supp \ darwin11.supp darwin12.supp darwin13.supp darwin14.supp darwin15.supp \ darwin16.supp darwin17.supp \ + darwin-drd.supp darwin-helgrind.supp \ bionic.supp \ solaris11.supp solaris12.supp \ musl.supp diff --git a/configure.ac b/configure.ac index 82f8e8c3a..4bf92df42 100644 --- a/configure.ac +++ b/configure.ac @@ -505,81 +505,57 @@ case "${host_os}" in kernel=`uname -r` fi - # Nb: for Darwin we set DEFAULT_SUPP here. That's because Darwin - # has only one relevant version, the OS version. The `uname` check - # is a good way to get that version (i.e. "Darwin 9.6.0" is Mac OS - # X 10.5.6, and "Darwin 10.x" is Mac OS X 10.6.x Snow Leopard, - # and possibly "Darwin 11.x" is Mac OS X 10.7.x Lion), - # and we don't know of an macros similar to __GLIBC__ to get that info. - # - # XXX: `uname -r` won't do the right thing for cross-compiles, but - # that's not a problem yet. - # - # jseward 21 Sept 2011: I seriously doubt whether V 3.7.0 will work - # on OS X 10.5.x; I haven't tested yet, and only plan to test 3.7.0 - # on 10.6.8 and 10.7.1. Although tempted to delete the configure - # time support for 10.5 (the 9.* pattern just below), I'll leave it - # in for now, just in case anybody wants to give it a try. But I'm - # assuming that 3.7.0 is a Snow Leopard and Lion-only release. - DARWIN_DRD_SUPP="darwin10-drd.supp" + DARWIN_DRD_SUPP="darwin-drd.supp" case "${kernel}" in 9.*) AC_MSG_RESULT([Darwin 9.x (${kernel}) / Mac OS X 10.5 Leopard]) DARWIN_VERS=$DARWIN_10_5 - DEFAULT_SUPP="$srcdir/darwin9.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="$srcdir/darwin9-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin9.supp ${DEFAULT_SUPP}" + DARWIN_DRD_SUPP="darwin9-drd.supp" ;; 10.*) AC_MSG_RESULT([Darwin 10.x (${kernel}) / Mac OS X 10.6 Snow Leopard]) DARWIN_VERS=$DARWIN_10_6 - DEFAULT_SUPP="$srcdir/darwin10.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin10.supp ${DEFAULT_SUPP}" ;; 11.*) AC_MSG_RESULT([Darwin 11.x (${kernel}) / Mac OS X 10.7 Lion]) DARWIN_VERS=$DARWIN_10_7 - DEFAULT_SUPP="$srcdir/darwin11.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin11.supp ${DEFAULT_SUPP}" ;; 12.*) AC_MSG_RESULT([Darwin 12.x (${kernel}) / Mac OS X 10.8 Mountain Lion]) DARWIN_VERS=$DARWIN_10_8 - DEFAULT_SUPP="$srcdir/darwin12.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin12.supp ${DEFAULT_SUPP}" ;; 13.*) AC_MSG_RESULT([Darwin 13.x (${kernel}) / Mac OS X 10.9 Mavericks]) DARWIN_VERS=$DARWIN_10_9 - DEFAULT_SUPP="$srcdir/darwin13.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin13.supp ${DEFAULT_SUPP}" ;; 14.*) AC_MSG_RESULT([Darwin 14.x (${kernel}) / Mac OS X 10.10 Yosemite]) DARWIN_VERS=$DARWIN_10_10 - DEFAULT_SUPP="$srcdir/darwin14.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin14.supp ${DEFAULT_SUPP}" ;; 15.*) AC_MSG_RESULT([Darwin 15.x (${kernel}) / Mac OS X 10.11 El Capitan]) DARWIN_VERS=$DARWIN_10_11 - DEFAULT_SUPP="$srcdir/darwin15.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin15.supp ${DEFAULT_SUPP}" ;; 16.*) AC_MSG_RESULT([Darwin 16.x (${kernel}) / macOS 10.12 Sierra]) DARWIN_VERS=$DARWIN_10_12 - DEFAULT_SUPP="$srcdir/darwin16.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin16.supp ${DEFAULT_SUPP}" ;; 17.*) AC_MSG_RESULT([Darwin 17.x (${kernel}) / macOS 10.13 High Sierra]) DARWIN_VERS=$DARWIN_10_13 DEFAULT_SUPP="$srcdir/darwin17.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" ;; *) 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-15.0, iOS 4-18 and macOS/iOS 26)]) + AC_MSG_ERROR([Valgrind works on Darwin 10.x-25.x (Mac OS X 10.6-10.11, macOS 10.12-10.13)]) ;; esac @@ -589,7 +565,7 @@ case "${host_os}" in AC_DEFINE_UNQUOTED([DARWIN_VERS], $DARWIN_VERS, [Darwin / Mac OS X / macOS / iOS version]) AC_SUBST(DARWIN_VERS) - DEFAULT_SUPP="$srcdir/${DARWIN_DRD_SUPP} ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/${DARWIN_DRD_SUPP} ${DEFAULT_SUPP} $srcdir/darwin-helgrind.supp" AC_MSG_CHECKING([for the the minimum macOS SDK version]) case "${darwin_platform}" in diff --git a/darwin10-drd.supp b/darwin-drd.supp similarity index 100% rename from darwin10-drd.supp rename to darwin-drd.supp diff --git a/darwin-helgrind.supp b/darwin-helgrind.supp new file mode 100644 index 000000000..853731eb2 --- /dev/null +++ b/darwin-helgrind.supp @@ -0,0 +1,125 @@ + +# Helgrind Suppressions for Darwin 17.x / macOS 10.13 High Sierra + +{ + OSX1013:helgrind:pthread library + Helgrind:Race + obj:/usr/lib/system/libsystem_pthread.dylib +} + +# various getaddrinfo suppressions +{ + OSC1013:helgrind:getaddrinfo + Helgrind:Race + ... + fun:getaddrinfo +} + +{ + OSX1013:helgrind:_fwalk + Helgrind:Race + fun:_fwalk +} + +{ + OSX1013:helgrind:exit + Helgrind:Race + fun:exit +} + +{ + OSX1013:helgrind:freeaddrinfo + Helgrind:Race + fun:freeaddrinfo +} + +# some of these have deep callstacks, this might not work +# with low values of --num-callers +{ + OSC1013:helgrind:si_addrinfo + Helgrind:Race + ... + fun:si_addrinfo +} + +{ + OSC1013:helgrind:file_addrinfo + Helgrind:Race + ... + fun:file_addrinfo +} + +{ + OSX1013:helgrind:xpc_dictionary_apply + Helgrind:Race + ... + fun:xpc_dictionary_apply +} + +{ + OSX1013:helgrind:cache_fill + Helgrind:Race + fun:cache_fill +} + +{ + OSX1013:helgrind:objc_destructInstance + Helgrind:Race + ... + fun:objc_destructInstance +} + +{ + OSX1013:helgrind:xpc_create_from_plist + Helgrind:Race + ... + fun:xpc_create_from_plist +} + +{ + OSX1013:helgrind:dispatch_once_f + Helgrind:Race + ... + fun:dispatch_once_f +} + +{ + OSX1013:helgrind:nanosleep + Helgrind:Race + ... + fun:nanosleep +} + + +{ + OSX1013:helgrind:nw_path_copy_interface_with_generation_internal + Helgrind:Race + ... + fun:nw_path_copy_interface_with_generation_internal +} + + +{ + OSX1013:helgrind:rwlock_tt::read() + Helgrind:Race + fun:_ZN9rwlock_ttILb0EE4readEv +} + +{ + OSX1013:helgrind:rwlock_tt::write() + Helgrind:Race + fun:_ZN9rwlock_ttILb0EE5writeEv +} + +{ + OSX1013:helgrind:gomp_barrier_wait + Helgrind:Race + fun:gomp_barrier_wait +} + +{ + OSX1013:helgrind:_os_unfair_lock_lock_slow + Helgrind:Race + fun:_os_unfair_lock_lock_slow +} + diff --git a/darwin17.supp b/darwin17.supp index 4216421a2..af2c3ee69 100644 --- a/darwin17.supp +++ b/darwin17.supp @@ -783,126 +783,3 @@ Memcheck:Cond fun:ccaes_vng_ctr_crypt } - -{ - OSX1013:helgrind:pthread library - Helgrind:Race - obj:/usr/lib/system/libsystem_pthread.dylib -} - -# various getaddrinfo suppressions -{ - OSC1013:helgrind:getaddrinfo - Helgrind:Race - ... - fun:getaddrinfo -} - -{ - OSX1013:helgrind:_fwalk - Helgrind:Race - fun:_fwalk -} - -{ - OSX1013:helgrind:exit - Helgrind:Race - fun:exit -} - -{ - OSX1013:helgrind:freeaddrinfo - Helgrind:Race - fun:freeaddrinfo -} - -# some of these have deep callstacks, this might not work -# with low values of --num-callers -{ - OSC1013:helgrind:si_addrinfo - Helgrind:Race - ... - fun:si_addrinfo -} - -{ - OSC1013:helgrind:file_addrinfo - Helgrind:Race - ... - fun:file_addrinfo -} - -{ - OSX1013:helgrind:xpc_dictionary_apply - Helgrind:Race - ... - fun:xpc_dictionary_apply -} - -{ - OSX1013:helgrind:cache_fill - Helgrind:Race - fun:cache_fill -} - -{ - OSX1013:helgrind:objc_destructInstance - Helgrind:Race - ... - fun:objc_destructInstance -} - -{ - OSX1013:helgrind:xpc_create_from_plist - Helgrind:Race - ... - fun:xpc_create_from_plist -} - -{ - OSX1013:helgrind:dispatch_once_f - Helgrind:Race - ... - fun:dispatch_once_f -} - -{ - OSX1013:helgrind:nanosleep - Helgrind:Race - ... - fun:nanosleep -} - - -{ - OSX1013:helgrind:nw_path_copy_interface_with_generation_internal - Helgrind:Race - ... - fun:nw_path_copy_interface_with_generation_internal -} - - -{ - OSX1013:helgrind:rwlock_tt::read() - Helgrind:Race - fun:_ZN9rwlock_ttILb0EE4readEv -} - -{ - OSX1013:helgrind:rwlock_tt::write() - Helgrind:Race - fun:_ZN9rwlock_ttILb0EE5writeEv -} - -{ - OSX1013:helgrind:gomp_barrier_wait - Helgrind:Race - fun:gomp_barrier_wait -} - -{ - OSX1013:helgrind:_os_unfair_lock_lock_slow - Helgrind:Race - fun:_os_unfair_lock_lock_slow -} -