util: Expand the valgrind suppressions file to the entire libpython.
Suppress any valgrind error from *anywhere* in the libpython library.
There are ***many*** false positives in the python library, making the
output of valgrind almost useless without lots of suppressions. Rather
than suppress each error piecemeal, we can suppress any error which
originates in libpython to cover them all.
There will now be corner cases where a bug in gem5 causes some sort of
illegal access, etc, within the python library itself, but these sorts
of interactions/errors should be very rare. Suppressing the fountain of
false positives coming from libpython makes valgrind useable in general,
which IMO is a very worthwhile tradeoff.
Change-Id: I4869eeeb4aef5884ad52025b52c9616e0541f3e6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49530
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
diff --git a/util/valgrind-suppressions b/util/valgrind-suppressions
index 6d0669a..947eb4b 100644
--- a/util/valgrind-suppressions
+++ b/util/valgrind-suppressions
@@ -1,117 +1,60 @@
{
python error
Memcheck:Cond
- fun:PyObject_Free
+ obj:*libpython3*
}
{
python error
Memcheck:Addr1
- fun:PyObject_Free
+ obj:*libpython3*
}
{
python error
Memcheck:Addr2
- fun:PyObject_Free
+ obj:*libpython3*
}
{
python error
Memcheck:Addr4
- fun:PyObject_Free
+ obj:*libpython3*
}
{
python error
Memcheck:Addr8
- fun:PyObject_Free
+ obj:*libpython3*
}
{
python error
Memcheck:Addr16
- fun:PyObject_Free
+ obj:*libpython3*
}
{
python error
Memcheck:Value1
- fun:PyObject_Free
+ obj:*libpython3*
}
{
python error
Memcheck:Value2
- fun:PyObject_Free
+ obj:*libpython3*
}
{
python error
Memcheck:Value4
- fun:PyObject_Free
+ obj:*libpython3*
}
{
python error
Memcheck:Value8
- fun:PyObject_Free
+ obj:*libpython3*
}
{
python error
Memcheck:Value16
- fun:PyObject_Free
-}
-
-{
- python error
- Memcheck:Cond
- fun:PyObject_Realloc
-}
-{
- python error
- Memcheck:Addr1
- fun:PyObject_Realloc
-}
-{
- python error
- Memcheck:Addr2
- fun:PyObject_Realloc
-}
-{
- python error
- Memcheck:Addr4
- fun:PyObject_Realloc
-}
-{
- python error
- Memcheck:Addr8
- fun:PyObject_Realloc
-}
-{
- python error
- Memcheck:Addr16
- fun:PyObject_Realloc
-}
-{
- python error
- Memcheck:Value1
- fun:PyObject_Realloc
-}
-{
- python error
- Memcheck:Value2
- fun:PyObject_Realloc
-}
-{
- python error
- Memcheck:Value4
- fun:PyObject_Realloc
-}
-{
- python error
- Memcheck:Value8
- fun:PyObject_Realloc
-}
-{
- python error
- Memcheck:Value16
- fun:PyObject_Realloc
+ obj:*libpython3*
}
{
zlib error
Memcheck:Cond
fun:inflateReset2
}
-