summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2013-06-19 13:37:25 +0200
committerNicholas Clark <nick@ccl4.org>2013-07-01 11:13:02 +0200
commitf01ecde888eb7fbeac3d61f1428d7a2e3f3e930f (patch)
treea71230c451d3a4aaa7debdc44a6437dc83700d69
parent499cea6bb2a524e77c3c7bbe334bac90b130b3b6 (diff)
downloadperl-f01ecde888eb7fbeac3d61f1428d7a2e3f3e930f.tar.gz
Remove Makefile targets and tools related to Irix and Tru64 debugging tools.
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.
-rw-r--r--MANIFEST2
-rwxr-xr-xMakefile.SH37
-rw-r--r--Porting/README.pod9
-rw-r--r--Porting/testall.atom91
-rw-r--r--Porting/thirdclean91
-rw-r--r--pod/perlhacktips.pod6
-rwxr-xr-xt/TEST23
7 files changed, 4 insertions, 255 deletions
diff --git a/MANIFEST b/MANIFEST
index 19d55e5398..001108daea 100644
--- 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
diff --git a/Makefile.SH b/Makefile.SH
index e7ee13f377..41ee6db3b5 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -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)
diff --git a/Porting/README.pod b/Porting/README.pod
index e77c80d283..2bd612d688 100644
--- a/Porting/README.pod
+++ b/Porting/README.pod
@@ -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
index 8796f08f2b..0000000000
--- a/Porting/testall.atom
+++ /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
index 8f1d3f894b..0000000000
--- a/Porting/thirdclean
+++ /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;
diff --git a/pod/perlhacktips.pod b/pod/perlhacktips.pod
index 324ed1a842..dd471251ee 100644
--- a/pod/perlhacktips.pod
+++ b/pod/perlhacktips.pod
@@ -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 3c00b5ea6d..96eb6a48dc 100755
--- 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";
}