|
From: <sv...@va...> - 2009-05-05 03:46:35
|
Author: njn
Date: 2009-05-05 04:46:28 +0100 (Tue, 05 May 2009)
New Revision: 9775
Log:
Add some crude suppressions for Helgrind, and fix a problem with the filter
on Darwin. Several more Helgrind tests now pass, and a number of the
failing ones are close to passing.
Modified:
branches/DARWIN/darwin9.supp
branches/DARWIN/helgrind/tests/filter_stderr
Modified: branches/DARWIN/darwin9.supp
===================================================================
--- branches/DARWIN/darwin9.supp 2009-05-05 03:45:22 UTC (rev 9774)
+++ branches/DARWIN/darwin9.supp 2009-05-05 03:46:28 UTC (rev 9775)
@@ -97,3 +97,72 @@
obj:/usr/lib/libSystem*
obj:/usr/lib/libSystem*
}
+
+##----------------------------------------------------------------------##
+#
+# Suppressions for 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).
+
+{
+ crude1
+ Helgrind:Race
+ obj:/usr/lib/dyld
+}
+{
+ crude2
+ 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.
+{
+ crude3
+ Helgrind:Race
+ fun:???
+}
+{
+ crude4
+ Helgrind:Race
+ fun:mythread_wrapper
+}
+{
+ crude5
+ Helgrind:Race
+ ...
+ fun:pthread_create_WRK
+ fun:pthread_create
+}
+
Modified: branches/DARWIN/helgrind/tests/filter_stderr
===================================================================
--- branches/DARWIN/helgrind/tests/filter_stderr 2009-05-05 03:45:22 UTC (rev 9774)
+++ branches/DARWIN/helgrind/tests/filter_stderr 2009-05-05 03:46:28 UTC (rev 9775)
@@ -11,7 +11,7 @@
sed "/^Helgrind, a thread error detector/ , /./ d" |
# Anonymise line numbers in hg_intercepts.c
-sed "s/hg_intercepts.c:[0-9]\+/hg_intercepts.c:.../g" |
+sed "s/hg_intercepts.c:[0-9]*/hg_intercepts.c:.../g" |
# Change (eg) "/lib64/libpthread-2.5.so" into "/...libpthread..."
sed \
|