This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Teach bisect-runner.pl how to work around various 5.005_5x build problems.
[perl5.git] / Porting / thirdclean
index 5a354e7..8f1d3f8 100644 (file)
@@ -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 $/;
 $_ = <ARGV>;
 
@@ -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;