This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove the explicit purify/quantify/purecov targets and documentation.
authorNicholas Clark <nick@ccl4.org>
Thu, 20 Jun 2013 08:01:20 +0000 (10:01 +0200)
committerNicholas Clark <nick@ccl4.org>
Mon, 1 Jul 2013 09:14:48 +0000 (11:14 +0200)
It's not clear whether IBM still sell quantify or purecov. They still seem
to sell purify, but I'm not sure if anyone is using it these days to detect
bugs in perl.

This doesn't prevent anyone from using these tools if they have them, as
it's still possible to run the commands by "hand". But by removing probably
unused code and documentation, the signal to noise ratio improves.

Makefile.SH
Porting/pumpkin.pod
pod/perlhacktips.pod

index a1c1422..7d6f896 100755 (executable)
@@ -917,17 +917,6 @@ $(PERL_EXE): $& perlmain$(OBJ_EXT) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPOR
        -@rm -f miniperl.xok
        $(SHRPENV) $(LDLIBPTH) $(CC) -o perl$(PERL_SUFFIX) $(PERL_PROFILE_LDFLAGS) $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
-# Purify/Quantify Perls.
-
-pure$(PERL_EXE): $& perlmain$(OBJ_EXT) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPORT)
-       $(SHRPENV) $(LDLIBPTH) purify $(CC) -o pureperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
-
-purecov$(PERL_EXE): $& perlmain$(OBJ_EXT) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPORT)
-       $(SHRPENV) $(LDLIBPTH) purecov $(CC) -o purecovperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
-
-quant$(PERL_EXE): $& perlmain$(OBJ_EXT) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPORT)
-       $(SHRPENV) $(LDLIBPTH) quantify $(CC) -o quantperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
-
 !NO!SUBS!
 
 case "${osname}${osvers}" in
index 89c5a46..a8c8fb0 100644 (file)
@@ -651,42 +651,6 @@ things.
 
 =back
 
-=head1 Running Purify
-
-Purify is a commercial tool that is helpful in identifying memory
-overruns, wild pointers, memory leaks and other such badness.  Perl
-must be compiled in a specific way for optimal testing with Purify.
-
-Use the following commands to test perl with Purify:
-
-       sh Configure -des -Doptimize=-g -Uusemymalloc \
-            -Dusemultiplicity -Accflags=-DPURIFY
-       setenv PURIFYOPTIONS "-chain-length=25"
-       make all pureperl
-       cd t
-       ln -s ../pureperl perl
-       setenv PERL_DESTRUCT_LEVEL 2
-       ./perl TEST
-
-Disabling Perl's malloc allows Purify to monitor allocations and leaks
-more closely; using Perl's malloc will make Purify report most leaks
-in the "potential" leaks category.  Enabling the multiplicity option
-allows perl to clean up thoroughly when the interpreter shuts down, which
-reduces the number of bogus leak reports from Purify.  The -DPURIFY
-enables any Purify-specific debugging code in the sources.
-
-Purify outputs messages in "Viewer" windows by default.  If you don't have
-a windowing environment or if you simply want the Purify output to
-unobtrusively go to a log file instead of to the interactive window,
-use the following options instead:
-
-       setenv PURIFYOPTIONS "-chain-length=25 -windows=no \
-            -log-file=perl.log -append-logfile=yes"
-
-The only currently known leaks happen when there are compile-time errors
-within eval or require.  (Fixing these is non-trivial, unfortunately, but
-they must be fixed eventually.)
-
 =head1 Common Gotchas
 
 =over 4
index dd47125..b694304 100644 (file)
@@ -1003,139 +1003,6 @@ B<NOTE 4>: L<DynaLoader> will not clean up after itself completely
 unless Perl is built with the Configure option
 C<-Accflags=-DDL_UNLOAD_ALL_AT_EXIT>.
 
-=head2 Rational Software's Purify
-
-Purify is a commercial tool that is helpful in identifying memory
-overruns, wild pointers, memory leaks and other such badness. Perl must
-be compiled in a specific way for optimal testing with Purify.  Purify
-is available under Windows NT, Solaris, HP-UX, SGI, and Siemens Unix.
-
-=head3 Purify on Unix
-
-On Unix, Purify creates a new Perl binary. To get the most benefit out
-of Purify, you should create the perl to Purify using:
-
-    sh Configure -Accflags=-DPURIFY -Doptimize='-g' \
-     -Uusemymalloc -Dusemultiplicity
-
-where these arguments mean:
-
-=over 4
-
-=item * -Accflags=-DPURIFY
-
-Disables Perl's arena memory allocation functions, as well as forcing
-use of memory allocation functions derived from the system malloc.
-
-=item * -Doptimize='-g'
-
-Adds debugging information so that you see the exact source statements
-where the problem occurs. Without this flag, all you will see is the
-source filename of where the error occurred.
-
-=item * -Uusemymalloc
-
-Disable Perl's malloc so that Purify can more closely monitor
-allocations and leaks. Using Perl's malloc will make Purify report most
-leaks in the "potential" leaks category.
-
-=item * -Dusemultiplicity
-
-Enabling the multiplicity option allows perl to clean up thoroughly
-when the interpreter shuts down, which reduces the number of bogus leak
-reports from Purify.
-
-=back
-
-Once you've compiled a perl suitable for Purify'ing, then you can just:
-
-    make pureperl
-
-which creates a binary named 'pureperl' that has been Purify'ed. This
-binary is used in place of the standard 'perl' binary when you want to
-debug Perl memory problems.
-
-As an example, to show any memory leaks produced during the standard
-Perl testset you would create and run the Purify'ed perl as:
-
-    make pureperl
-    cd t
-    ../pureperl -I../lib harness
-
-which would run Perl on test.pl and report any memory problems.
-
-Purify outputs messages in "Viewer" windows by default. If you don't
-have a windowing environment or if you simply want the Purify output to
-unobtrusively go to a log file instead of to the interactive window,
-use these following options to output to the log file "perl.log":
-
-    setenv PURIFYOPTIONS "-chain-length=25 -windows=no \
-     -log-file=perl.log -append-logfile=yes"
-
-If you plan to use the "Viewer" windows, then you only need this
-option:
-
-    setenv PURIFYOPTIONS "-chain-length=25"
-
-In Bourne-type shells:
-
-    PURIFYOPTIONS="..."
-    export PURIFYOPTIONS
-
-or if you have the "env" utility:
-
-    env PURIFYOPTIONS="..." ../pureperl ...
-
-=head3 Purify on NT
-
-Purify on Windows NT instruments the Perl binary 'perl.exe' on the fly.
- There are several options in the makefile you should change to get the
-most use out of Purify:
-
-=over 4
-
-=item * DEFINES
-
-You should add -DPURIFY to the DEFINES line so the DEFINES line looks
-something like:
-
-   DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG) -DPURIFY=1
-
-to disable Perl's arena memory allocation functions, as well as to
-force use of memory allocation functions derived from the system
-malloc.
-
-=item * USE_MULTI = define
-
-Enabling the multiplicity option allows perl to clean up thoroughly
-when the interpreter shuts down, which reduces the number of bogus leak
-reports from Purify.
-
-=item * #PERL_MALLOC = define
-
-Disable Perl's malloc so that Purify can more closely monitor
-allocations and leaks. Using Perl's malloc will make Purify report most
-leaks in the "potential" leaks category.
-
-=item * CFG = Debug
-
-Adds debugging information so that you see the exact source statements
-where the problem occurs. Without this flag, all you will see is the
-source filename of where the error occurred.
-
-=back
-
-As an example, to show any memory leaks produced during the standard
-Perl testset you would create and run Purify as:
-
-    cd win32
-    make
-    cd ../t
-    purify ../perl -I../lib harness
-
-which would instrument Perl in memory, run Perl on test.pl, then
-finally report any memory problems.
-
 =head2 valgrind
 
 The valgrind tool can be used to find out both memory leaks and illegal
@@ -1339,7 +1206,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 executable, please note that
+valgrind, 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