This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove Makefile targets and tools related to Irix and Tru64 debugging tools.
authorNicholas Clark <nick@ccl4.org>
Wed, 19 Jun 2013 11:37:25 +0000 (13:37 +0200)
committerNicholas Clark <nick@ccl4.org>
Mon, 1 Jul 2013 09:13:02 +0000 (11:13 +0200)
Remove the targets:

perl.pixie perl.pixie.atom perl.pixie.config perl.pixie.irix perl.third
perl.third.config

It's still possible to run the actions these targets "by hand", if desired.
This commit removes the convenience targets from the Makefile, reducing its
complexity. It also removes the related support scripts testall.atom and
thirdclean from Porting/

pixie is a performance analysis tool for Irix and Tru64
Third Degree is a memory checker tool for Tru64

Given that Tru64 went out of support at the end of 2012, and Irix goes out
of support at the end of 2013, it's very unlikely that anyone is still
actively profiling or debugging perl on either platform, and hence using
these targets. It's been several years since we've even had a regular bug
report from either platform.

MANIFEST
Makefile.SH
Porting/README.pod
Porting/testall.atom [deleted file]
Porting/thirdclean [deleted file]
pod/perlhacktips.pod
t/TEST

index 19d55e5..001108d 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -4692,8 +4692,6 @@ Porting/release_schedule.pod      Schedule for future releases
 Porting/rt_list_patches                A tool to help you apply patches from RT
 Porting/sort_perldiag.pl       Keep our diagnostics orderly
 Porting/sync-with-cpan         Sync with CPAN
-Porting/testall.atom           Cumulative profile with Third Degree
-Porting/thirdclean             Cleanup Third Degree reports
 Porting/timecheck2.c           Test program for the 2038 fix
 Porting/timecheck.c            Test program for the 2038 fix
 Porting/todo.pod               Perl things to do
index e7ee13f..41ee6db 100755 (executable)
@@ -949,44 +949,11 @@ esac
 
 $spitshell >>$Makefile <<'!NO!SUBS!'
 
-# Third Degree Perl (Tru64 only)
-
 perl.config.dashg:
        @echo "Checking optimize='-g' in config.sh..."
        @grep "^optimize=" config.sh
        @egrep "^optimize='(.*-g.*)'" config.sh >/dev/null || exit 1
 
-perl.third.config: config.sh
-       @echo "To build perl.third you must Configure -Doptimize=-g -Uusemymalloc, checking..."
-       @$(MAKE) perl.config.dashg
-       @echo "Checking usemymalloc='n' in config.sh..."
-       @grep "^usemymalloc="    config.sh
-       @grep "^usemymalloc='n'" config.sh >/dev/null || exit 1
-
-perl.third: /usr/bin/atom perl.third.config perl
-       atom -tool third -L. -all -gp -toolargs="-invalid -uninit heap+stack+copy -min 0" perl
-       @echo "Now you may run perl.third and then study perl.3log."
-
-# Pixie Perls (Tru64 and IRIX only)
-
-perl.pixie.config: config.sh
-       @echo "To build perl.pixie you must Configure -Doptimize=-g, checking..."
-       @$(MAKE) perl.config.dashg
-
-perl.pixie.atom: /usr/bin/atom perl
-       atom -tool pixie -L. -all -toolargs="-quiet" perl
-
-perl.pixie.irix: perl
-       pixie perl
-
-perl.pixie: /usr/bin/pixie perl.pixie.config perl
-       if test -x /usr/bin/atom; then \
-         $(MAKE) perl.pixie.atom; \
-       else \
-         $(MAKE) perl.pixie.irix; \
-       fi
-       @echo "Now you may run perl.pixie and then run pixie."
-
 # Gprof Perl
 
 perl.config.dashpg:
@@ -1294,9 +1261,7 @@ _mopup:
        -@test -f vms/README_vms.pod && rm -f vms/README_vms.pod
        -rm -f perl.exp ext.libs $(generated_pods) uni.data opmini.o perlmini.o pod/roffitall
        -rm -f perl.export perl.dll perl.libexp perl.map perl.def
-       -rm -f perl.third lib*.so.perl.third perl.3log t/perl.third t/perl.3log
-       -rm -f perl.pixie lib*.so.perl.pixie lib*.so.Addrs
-       -rm -f perl.Addrs perl.Counts t/perl.Addrs t/perl.Counts *perl.xok
+       -rm -f *perl.xok
        -rm -f cygwin.c libperl*.def libperl*.dll cygperl*.dll *.exe.stackdump
        -rm -f $(PERL_EXE) $(MINIPERL_EXE) $(LIBPERL) libperl.* microperl
        -rm -f config.arch config.over $(DTRACE_H)
index e77c80d..2bd612d 100644 (file)
@@ -323,15 +323,6 @@ and case are ignored, as explained in L<perldiag>.
 
 Script to help out with syncing cpan distros.
 
-=head2 F<testall.atom>
-
-Test suite profiling on Tru 64.
-
-=head2 F<thirdclean>
-
-Script for cleaning out the "known noise" from Third Degree reports: either
-noise caused by F<libc> itself, or F<Perl_yyparse> leaks.
-
 =head2 F<timecheck2.c>
 
 A little program to test the limits of your system's time functions. See
diff --git a/Porting/testall.atom b/Porting/testall.atom
deleted file mode 100644 (file)
index 8796f08..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/sh
-
-#
-# testall.atom - test suite profiling on Tru 64
-# 
-# This script creates all.Counts file that can be fed to prof(1)
-# to produce various basic block counting profiles.
-#
-# This script needs to be run at the top level of the Perl build
-# directory after the "make all" and "make test" targets have been run.
-#
-# You will also need to have perl.pixie built,
-# which means that you will also have Configured with -Doptimize=-g.
-#
-# After the script has been run (this will take several minutes)
-# you will have a file called all.Counts, which contains the cumulative
-# basic block counting results over the whole Perl test suite.
-# You can produce various reports using prof(1);
-#
-#   prof -pixie               -all -L. perl all.Counts
-#   prof -pixie -heavy        -all -L. perl all.Counts
-#   prof -pixie -invocations  -all -L. perl all.Counts
-#   prof -pixie -lines        -all -L. perl all.Counts
-#   prof -pixie -testcoverage -all -L. perl all.Counts
-#   prof -pixie -zero         -all -L. perl all.Counts
-#
-# io/openpid and op/fork core on me, I don't know why and haven't
-# taken a look yet.
-#
-# jhi@iki.fi
-#
-
-if test ! -f /usr/bin/atom
-then
-    echo "$0: no /usr/bin/atom"
-    exit 1
-fi
-
-if test ! -f perl;       then echo "$0: no perl";      exit 1; fi
-if test ! -f perl.pixie; then echo "$0: no perl.pixie; exit 1; fi
-if test ! -f t/perl;     then echo "$0: no t/perl;     exit 1; fi
-
-LD_LIBRARY_PATH=`pwd`
-export LD_LIBRARY_PATH
-
-cd t || exit 1
-
-ln -sf ../perl.pixie .
-
-if test $# = 0; then
-  the_t=`echo base/*.t comp/*.t cmd/*.t run/*.t io/*.t; echo op/*.t uni/*.t pod/*.t x2p/*.t; find ../ext ../lib -name '*.t' -print`
-else
-  the_t=$@
-fi
-
-PERL_DESTRUCT_LEVEL=2
-export PERL_DESTRUCT_LEVEL
-PERL_CORE=1
-export PERL_CORE
-
-rm -f all.Counts
-
-for t in $the_t
-do
-    case "$t" in
-    ext/*|lib/*) t=../$t ;;
-    t/*) t=`echo $t|sed 's:^t/::'` ;;
-    esac
-    echo $t|sed 's:\.t$::'
-    sw=''
-    case "`head -1 $t|egrep -e '^#.* -.*T'`" in
-    *-*T*) sw="$sw -T" ;;
-    esac
-    case "`head -1 $t|egrep -e '^#.* -.*t'`" in
-    *-*t*) sw="$sw -t" ;;
-    esac
-    ./perl.pixie -I../lib $sw $t > /dev/null
-    if cd ..
-    then
-        if test -f all.Counts
-        then
-            prof -pixie -merge new.Counts -L. -incobj libperl.so perl t/perl.Counts all.Counts
-            mv new.Counts all.Counts
-        else
-            mv t/perl.Counts all.Counts
-        fi
-        cd t
-    fi
-done
-
-exit 0
diff --git a/Porting/thirdclean b/Porting/thirdclean
deleted file mode 100644 (file)
index 8f1d3f8..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-#!./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>;
-
-my @accv = /(^-+ \w+ -- \d+ --(?:.(?!^-))+)/msg;
-my @leak = /(\d+ bytes? in \d+ leaks? .+? created at:(?:.(?!^[\d-]))+)/msg;
-
-$leak[ 0] =~ s/.* were found:\n\n//m; # Snip off totals.
-
-# Weed out the known access violations.
-
-@accv = grep { ! /-- ru[hs] --.+setlocale.+Perl_init_i18nl10n/s }  @accv;
-@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;
-@accv = grep { ! /-- ris --.+__strftime/s }                        @accv;
-
-# Weed out untraceable access violations.
-@accv = grep { ! / ----- /s }                                      @accv;
-@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_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;
-@accv = grep { ! /-- rih --.+memmove.+catpvn_flags/s }             @accv;
-
-# yyparse.
-@accv = grep { ! /Perl_yyparse/s }                                 @accv;
-
-# Weed out the known memory leaks.
-
-@leak = grep { ! /setlocale.+Perl_init_i18nl10n/s }   @leak;
-@leak = grep { ! /setlocale.+set_numeric_standard/s } @leak;
-@leak = grep { ! /_findiop.+fopen/s }                 @leak;
-@leak = grep { ! /_findiop.+__fdopen/s }              @leak;
-@leak = grep { ! /__localtime/s }                     @leak;
-@leak = grep { ! /__get_libc_context/s }              @leak;
-@leak = grep { ! /__sia_init/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;
-
-# Output the cleaned up report.
-
-# Access violations.
-
-for (my $i = 0; $i < @accv; $i++) {
-  $_ = $accv[$i];
-  s/\d+/$i/;
-  print;
-}
-
-# Memory leaks.
-
-my ($leakb, $leakn, $leaks);
-
-for (my $i = 0; $i < @leak; $i++) {
-  $_ = $leak[$i];
-  print $_, "\n";
-  /^(\d+) bytes? in (\d+) leak/;
-  $leakb += $1;
-  $leakn += $2;
-  $leaks += $1 if /including (\d+) super/;
-}
-
-print "Bytes $leakb Leaks $leakn Super $leaks\n" if $leakb;
index 324ed1a..dd47125 100644 (file)
@@ -1339,7 +1339,7 @@ quick hint:
 =head2 PERL_DESTRUCT_LEVEL
 
 If you want to run any of the tests yourself manually using e.g.
-valgrind, or the pureperl or perl.third executables, please note that
+valgrind, or the pureperl executable, please note that
 by default perl B<does not> explicitly cleanup all the memory it has
 allocated (such as global memory arenas) but instead lets the exit() of
 the whole program "take care" of such allocations, also known as
@@ -1348,9 +1348,9 @@ the whole program "take care" of such allocations, also known as
 There is a way to tell perl to do complete cleanup: set the environment
 variable PERL_DESTRUCT_LEVEL to a non-zero value. The t/TEST wrapper
 does set this to 2, and this is what you need to do too, if you don't
-want to see the "global leaks": For example, for "third-degreed" Perl:
+want to see the "global leaks": For example, for running under valgrind
 
-       env PERL_DESTRUCT_LEVEL=2 ./perl.third -Ilib t/foo/bar.t
+       env PERL_DESTRUCT_LEVEL=2 valgrind ./perl -Ilib t/foo/bar.t
 
 (Note: the mod_perl apache module uses also this environment variable
 for its own purposes and extended its semantics. Refer to the mod_perl
diff --git a/t/TEST b/t/TEST
index 3c00b5e..96eb6a4 100755 (executable)
--- a/t/TEST
+++ b/t/TEST
@@ -139,21 +139,6 @@ if (-f 'TEST' && -f 'harness' && -d '../lib') {
 die "You need to run \"make test\" first to set things up.\n"
   unless -e 'perl' or -e 'perl.exe' or -e 'perl.pm';
 
-if ($ENV{PERL_3LOG}) { # Tru64 third(1) tool, see perlhack
-    unless (-x 'perl.third') {
-       unless (-x '../perl.third') {
-           die "You need to run \"make perl.third first.\n";
-       }
-       else {
-           print "Symlinking ../perl.third as perl.third...\n";
-           die "Failed to symlink: $!\n"
-               unless symlink("../perl.third", "perl.third");
-           die "Symlinked but no executable perl.third: $!\n"
-               unless -x 'perl.third';
-       }
-    }
-}
-
 # check leakage for embedders
 $ENV{PERL_DESTRUCT_LEVEL} = 2 unless exists $ENV{PERL_DESTRUCT_LEVEL};
 # check existence of all symbols
@@ -727,14 +712,6 @@ EOT
        if ($type eq 'deparse') {
            unlink "./$test.dp";
        }
-       if ($ENV{PERL_3LOG}) {
-           my $tpp = $test;
-           $tpp =~ s:^\.\./::;
-           $tpp =~ s:/:_:g;
-           $tpp =~ s:\.t$:.3log:;
-           rename("perl.3log", $tpp) ||
-               die "rename: perl3.log to $tpp: $!\n";
-       }
        if (not defined $failure and $next != $max) {
            $failure="FAILED--expected $max tests, saw $next";
        }