pod/perldelta.pod file. For more detailed information about specific
changes, see the Changes file.
+IMPORTANT NOTE: 5.005_53 and later releases do not export unadorned
+global symbols anymore. This means most CPAN modules probably won't
+build under this release without adding '-DPERL_POLLUTE' to ccflags
+in config.sh. This is not the default because we want the modules
+to get fixed *before* the 5.006 release. pod/perldelta.pod contains
+additional notes about this.
+
=head1 DESCRIPTION
This document is written in pod format as an easy way to indicate its
In a related issue, old extensions may possibly be affected by the
changes in the Perl language in the current release. Please see
-pod/perldelta.pod for a description of what's changed.
+pod/perldelta.pod (and pod/perl500Xdelta.pod) for a description of
+what's changed.
=head1 WARNING: This version requires a compiler that supports ANSI C.
into a directory typically found along a user's PATH, or in another
obvious and convenient place.
+You can use "Configure -Uinstallusrbinperl" which causes installperl
+to skip installing perl also as /usr/bin/perl.
+
By default, Configure will compile perl to use dynamic loading if
your system supports it. If you want to force perl to be compiled
statically, you can either choose this when Configure prompts you or
=head2 Threads
-On some platforms, perl5.005 can be compiled to use threads. To
-enable this, read the file README.threads, and then try
+On some platforms, perl5.005 can be compiled with experimental support
+for threads. To enable this, read the file README.threads, and then
+try:
sh Configure -Dusethreads
or you can answer 'n' at the appropriate interactive Configure prompt.
+Note that Perl's malloc family of functions are called Perl_malloc(),
+Perl_realloc(), Perl_calloc() and Perl_mfree(). The names do not clash
+with the system versions of these functions. See -DPERL_POLLUTE_MALLOC
+below if you want to do that for some reason.
+
=head2 Malloc Performance Flags
If you are using Perl's malloc, you may add one or more of the following
Undefined by default. Defining it in addition to NO_FANCY_MALLOC returns
malloc to the version used in Perl version 5.000.
+=item -DPERL_POLLUTE_MALLOC
+
+Undefined by default. This is used to force Perl's malloc family of functions
+to have the same names as the system versions. This is normally only required
+when you have a need to replace the system versions of these functions.
+This may be sometimes required when you have libraries that like to free()
+data that may have been allocated by Perl_malloc() and vice versa.
+
+Note that enabling this option may sometimes lead to duplicate symbols from
+the linker for malloc et al. In such cases, the system probably does not
+allow its malloc functions to be fully replaced with custom versions.
+
=back
=head2 Building a debugging perl
at Perl startup.
-=item malloc duplicates
-
-If you get duplicates upon linking for malloc et al, add -DEMBEDMYMALLOC
-to your ccflags variable in config.sh.
-
=item varargs
If you get varargs problems with gcc, be sure that gcc is installed