diff --git a/run.in b/run.in index ebdec65a4..5bc9459df 100755 --- a/run.in +++ b/run.in @@ -96,6 +96,13 @@ else fi export PERL5LIB +# Enable Perl valgrinding. +# XXX Unclear if this actually makes any difference. It seems you +# have to recompile the Perl interpreter with debugging enabled. +export PERL_DEBUG=1 +export PERL_VALGRIND=1 +export PERL_DESTRUCT_LEVEL=2 + # For Python. export PYTHON=@PYTHON@ if [ -z "$PYTHONPATH" ]; then diff --git a/valgrind-suppressions b/valgrind-suppressions index 6665ac543..079129292 100644 --- a/valgrind-suppressions +++ b/valgrind-suppressions @@ -277,3 +277,47 @@ ... fun:file_apprentice } + +# Perl +# note: Perl leaks memory by design, this just suppresses them. +{ + perl_leak_1 + Memcheck:Leak + ... + fun:Perl_safesysmalloc +} + +{ + perl_leak_2 + Memcheck:Leak + ... + fun:Perl_safesysrealloc +} + +{ + perl_leak_3 + Memcheck:Leak + ... + fun:Perl_safesyscalloc +} + +{ + perl_leak_4 + Memcheck:Leak + ... + fun:Perl_yyparse +} + +{ + perl_leak_5 + Memcheck:Leak + ... + fun:Perl_re_compile +} + +{ + perl_leak_6 + Memcheck:Leak + fun:malloc + fun:Perl_refcounted_he_new_pvn +}