X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Porting%2Fthirdclean;h=8f1d3f894bde0182ace525db81a41b8e9f54abb5;hb=338584c0b1c948a967b5e2ecbb69c512410589e4;hp=5a354e74695c02fa88bfdbee513b0c1e03993d75;hpb=f27ead9885b8646ffdea983a054bdc1ade995cf8;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Porting/thirdclean b/Porting/thirdclean index 5a354e7..8f1d3f8 100644 --- a/Porting/thirdclean +++ b/Porting/thirdclean @@ -1,3 +1,12 @@ +#!./perl + +# DAPM: this description is from the original commit message: +# this appears to be a HP leak detection thing: +# +# Add a script for cleaning out the "known noise" +# from Third Degree reports: either noise caused +# by libc itself, or Perl_yyparse leaks. + local $/; $_ = ; @@ -12,6 +21,7 @@ $leak[ 0] =~ s/.* were found:\n\n//m; # Snip off totals. @accv = grep { ! /-- [rw][ui]s --.+_doprnt_dis/s } @accv; @accv = grep { ! /-- (?:fon|ris) --.+__strxfrm/s } @accv; @accv = grep { ! /-- rus --.+__catgets/s } @accv; +@accv = grep { ! /-- rus --.+__execvp/s } @accv; @accv = grep { ! /-- rus --.+tmpnam.+tmpfile/s } @accv; @accv = grep { ! /-- rus --.+__gethostbyname/s } @accv; @accv = grep { ! /-- ris --.+__actual_atof/s } @accv; @@ -22,9 +32,12 @@ $leak[ 0] =~ s/.* were found:\n\n//m; # Snip off totals. @accv = grep { ! /-- r[ui][hs] --.+proc_at_/s } @accv; @accv = grep { ! /-- r[ui][hs] --.+pc = 0x/s } @accv; +# The following look like being caused by the intrinsic inlined +# string handling functions reading one or few bytes beyond the +# actual length. @accv = grep { ! /-- rih --.+(?:memmove|strcpy).+moreswitches/s } @accv; @accv = grep { ! /-- (?:rih|rus) --.+strcpy.+gv_fetchfile/s } @accv; -@accv = grep { ! /-- rih --.+strcmp.+doopen_pmc/s } @accv; +@accv = grep { ! /-- rih --.+strcmp.+doopen_pm/s } @accv; @accv = grep { ! /-- rih --.+strcmp.+gv_fetchpv/s } @accv; @accv = grep { ! /-- r[ui]h --.+strcmp.+gv_fetchmeth/s } @accv; @accv = grep { ! /-- rih --.+memmove.+my_setenv/s } @accv; @@ -42,12 +55,12 @@ $leak[ 0] =~ s/.* were found:\n\n//m; # Snip off totals. @leak = grep { ! /__localtime/s } @leak; @leak = grep { ! /__get_libc_context/s } @leak; @leak = grep { ! /__sia_init/s } @leak; -@leak = grep { ! /pc = 0x/s } @leak; -@leak = grep { ! /_pc_range_table/s } @leak; -@leak = grep { ! /_add_gp_range/s } @leak; # Weed out untraceable memory leaks. @leak = grep { ! / ----- /s } @leak; +@leak = grep { ! /pc = 0x/s } @leak; +@leak = grep { ! /_pc_range_table/s } @leak; +@leak = grep { ! /_add_gp_range/s } @leak; # yyparse. @leak = grep { ! /Perl_yyparse/s } @leak;