summaryrefslogtreecommitdiff
path: root/glibc-2.34567-NPTL-helgrind.supp
diff options
context:
space:
mode:
authorsewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9>2009-01-02 23:17:02 +0000
committersewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9>2009-01-02 23:17:02 +0000
commit94a9b24fb9fa85c87e8d102daca3360317d8b6f9 (patch)
tree6c56f8a87ab72bca05e4243efe143d733892f32c /glibc-2.34567-NPTL-helgrind.supp
parent4899c8753c5efcf0f2e39b2ccc6aaebfad124656 (diff)
Suppress all races whose top frame is in libc.so. This is a not very
clever interim solution to the problem of Helgrind reporting lots of false races in glibc's stdio functions, due to it not seeing the relevant (inlined, alas) locking that glibc uses. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8897 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'glibc-2.34567-NPTL-helgrind.supp')
-rw-r--r--glibc-2.34567-NPTL-helgrind.supp63
1 files changed, 33 insertions, 30 deletions
diff --git a/glibc-2.34567-NPTL-helgrind.supp b/glibc-2.34567-NPTL-helgrind.supp
index d73b8881..4b910238 100644
--- a/glibc-2.34567-NPTL-helgrind.supp
+++ b/glibc-2.34567-NPTL-helgrind.supp
@@ -8,70 +8,72 @@
# These are generic cover-alls which catch a lot of stuff
# in various combinations of ld, libc and libpthread
#
+# Note this is heavyhanded and not very clever:
+#
+# - suppress anything that has its top frame in ld.so
+# That's fine, since it's mostly dynamic linking stuff,
+# which has various deliberate (harmless) races
+#
+# - suppress anything that has its top frame in libc.so.
+# This really isn't clever, since it could hide some
+# legitimate races. But the problem is, if we don't do
+# this, then loads of errors to do with stdio are reported, because
+# H fails to see glibc's internal locking/unlocking of FILE*s
+# as required by POSIX. A better solution is needed.
+
{
helgrind-glibc2X-001
Helgrind:Race
obj:/lib*/ld-2.*so*
}
+
# helgrind-glibc2X-002 was merged into helgrind-glibc2X-001
+
# helgrind-glibc2X-003 was merged into helgrind-glibc2X-001
+
{
helgrind-glibc2X-004
Helgrind:Race
obj:/lib*/libc-2.*so*
- obj:/lib*/libc-2.*so*
}
+
{
helgrind-glibc2X-005
Helgrind:Race
obj:/lib*/libpthread-2.*so*
obj:/lib*/libpthread-2.*so*
- obj:/lib*/libpthread-2.*so*
-}
-{
- helgrind-glibc2X-006
- Helgrind:Race
- obj:/lib*/libpthread-2.*so*
- obj:/lib*/libpthread-2.*so*
- obj:/lib*/libc-2.*so*
}
+
+# helgrind-glibc2X-006 was merged into helgrind-glibc2X-005
+
# helgrind-glibc2X-007 was merged into helgrind-glibc2X-001
+
{
helgrind-glibc2X-008
Helgrind:Race
obj:/lib*/libpthread-2.*so*
obj:/lib*/libc-2.*so*
}
-{
- helgrind-glibc2X-009
- Helgrind:Race
- obj:/lib*/libc-2.*so*
- fun:*
- obj:/lib*/libc-2.*so*
-}
+
+# helgrind-glibc2X-009 was merged into helgrind-glibc2X-004
+
# helgrind-glibc2X-010 was merged into helgrind-glibc2X-001
-{
- helgrind-glibc2X-011
- Helgrind:Race
- obj:/lib*/libc-2.*so*
- obj:/lib*/libpthread-2.*so*
-}
+
+# helgrind-glibc2X-011 was merged into helgrind-glibc2X-004
+
# helgrind-glibc2X-012 was merged into helgrind-glibc2X-001
+
# helgrind-glibc2X-013 was merged into helgrind-glibc2X-001
+
# helgrind-glibc2X-014 was merged into helgrind-glibc2X-001
-{
- helgrind-glibc2X-015
- Helgrind:Race
- obj:/lib*/libc-2.*so*
- obj:/lib*/libdl-2.*so*
- obj:/lib*/ld-2.*so*
-}
+
+# helgrind-glibc2X-015 was merged into helgrind-glibc2X-004
+
{
helgrind-glibc2X-016
Helgrind:Race
obj:/lib*/libpthread-2.*so*
obj:/lib*/ld-2.*so*
- obj:/lib*/ld-2.*so*
}
# These are very ugly. They are needed to suppress errors inside (eg)
@@ -252,3 +254,4 @@
# To do with dynamic linking
#
# helgrind---ld.so-...-dlsym was merged into helgrind-glibc2X-001
+