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>
This commit is contained in:
Gabe Black
2021-08-23 21:02:01 -07:00
parent dd59da928d
commit c3d4951ef2

View File

@@ -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
}