Undo #3790 and the patches that attempted to fix it
Jarkko Hietaniemi [Sun, 1 Aug 1999 17:17:07 +0000 (17:17 +0000)]
(#3837, #3838, #3845).  The #3790 caused linkage failures
and/or core dumps in Solaris 2.6, Digital UNIX 4.0D, and
IRIX 6.5.

p4raw-id: //depot/cfgperl@3847

MANIFEST
ext/SDBM_File/Makefile.PL
ext/SDBM_File/hints/dec_osf.pl [deleted file]
ext/SDBM_File/hints/solaris.pl [deleted file]
lib/ExtUtils/MM_Unix.pm
lib/ExtUtils/MakeMaker.pm
os2/OS2/REXX/Makefile.PL
perl.h

index e130b89..36b6924 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -322,7 +322,6 @@ ext/POSIX/typemap           POSIX extension interface types
 ext/SDBM_File/Makefile.PL      SDBM extension makefile writer
 ext/SDBM_File/SDBM_File.pm     SDBM extension Perl module
 ext/SDBM_File/SDBM_File.xs     SDBM extension external subroutines
-ext/SDBM_File/hints/dec_osf.pl Hint for SDBM_File for named architecture
 ext/SDBM_File/sdbm/CHANGES             SDBM kit
 ext/SDBM_File/sdbm/COMPARE             SDBM kit
 ext/SDBM_File/sdbm/Makefile.PL         SDBM kit
index afce3f1..7494785 100644 (file)
@@ -16,7 +16,6 @@ WriteMakefile(
               XSPROTOARG => '-noprototypes',           # XXX remove later?
               VERSION_FROM => 'SDBM_File.pm',
               DEFINE => $define,
-             PERL_MALLOC_OK => 1,
              );
 
 sub MY::postamble {
diff --git a/ext/SDBM_File/hints/dec_osf.pl b/ext/SDBM_File/hints/dec_osf.pl
deleted file mode 100644 (file)
index 4c8b7bc..0000000
+++ /dev/null
@@ -1 +0,0 @@
-$self->{PERL_MALLOC_OK} = 0;
diff --git a/ext/SDBM_File/hints/solaris.pl b/ext/SDBM_File/hints/solaris.pl
deleted file mode 100644 (file)
index 4c8b7bc..0000000
+++ /dev/null
@@ -1 +0,0 @@
-$self->{PERL_MALLOC_OK} = 0;
index 855a703..b4bf41c 100644 (file)
@@ -388,18 +388,12 @@ sub cflags {
        $self->{CCFLAGS} .= ' -DPERL_POLLUTE ';
     }
 
-    my $pollute = '';
-    if ($Config{usemymalloc} and $self->{PERL_MALLOC_OK}) {
-       $pollute = '$(PERL_MALLOC_DEF)';
-    }
-
     return $self->{CFLAGS} = qq{
 CCFLAGS = $self->{CCFLAGS}
 OPTIMIZE = $self->{OPTIMIZE}
 PERLTYPE = $self->{PERLTYPE}
 LARGE = $self->{LARGE}
 SPLIT = $self->{SPLIT}
-MPOLLUTE = $pollute
 };
 
 }
@@ -456,7 +450,7 @@ sub const_cccmd {
     return '' unless $self->needs_linking();
     return $self->{CONST_CCCMD} =
        q{CCCMD = $(CC) -c $(INC) $(CCFLAGS) $(OPTIMIZE) \\
-       $(PERLTYPE) $(LARGE) $(SPLIT) $(MPOLLUTE) $(DEFINE_VERSION) \\
+       $(PERLTYPE) $(LARGE) $(SPLIT) $(DEFINE_VERSION) \\
        $(XS_DEFINE_VERSION)};
 }
 
@@ -541,7 +535,6 @@ VERSION_MACRO = VERSION
 DEFINE_VERSION = -D\$(VERSION_MACRO)=\\\"\$(VERSION)\\\"
 XS_VERSION_MACRO = XS_VERSION
 XS_DEFINE_VERSION = -D\$(XS_VERSION_MACRO)=\\\"\$(XS_VERSION)\\\"
-PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc
 };
 
     push @m, qq{
index 6318d0e..ad1944c 100644 (file)
@@ -250,7 +250,6 @@ sub full_setup {
     INST_HTMLLIBDIR INST_HTMLSCRIPTDIR
     INST_MAN1DIR INST_MAN3DIR INST_SCRIPT LDFROM LIB LIBPERL_A LIBS
     LINKTYPE MAKEAPERL MAKEFILE MAN1PODS MAN3PODS MAP_TARGET MYEXTLIB
-    PERL_MALLOC_OK
     NAME NEEDS_LINKING NOECHO NORECURS NO_VC OBJECT OPTIMIZE PERL PERLMAINCC
     PERL_ARCHLIB PERL_LIB PERL_SRC PERM_RW PERM_RWX
     PL_FILES PM PMLIBDIRS POLLUTE PPM_INSTALL_EXEC PPM_INSTALL_SCRIPT PREFIX
@@ -1485,34 +1484,6 @@ Directory, where executable files should be installed during
 testing. make install will copy the files in INST_SCRIPT to
 INSTALLSCRIPT.
 
-=item PERL_MALLOC_OK
-
-defaults to 0.  Should be set to TRUE if the extension can work with
-the memory allocation routines substituted by the Perl malloc() subsystem.
-This should be applicable to most extensions with exceptions of those
-
-=over
-
-=item *
-
-with bugs in memory allocations which are caught by Perl's malloc();
-
-=item *
-
-which interact with the memory allocator in other ways than via
-malloc(), realloc(), free(), calloc(), sbrk() and brk();
-
-=item *
-
-which rely on special alignment which is not provided by Perl's malloc().
-
-=back
-
-B<NOTE.>  Negligence to set this flag in I<any one> of loaded extension
-nullifies many advantages of Perl's malloc(), such as better usage of
-system resources, error detection, memory usage reporting, catchable failure
-of memory allocations, etc.
-
 =item LDFROM
 
 defaults to "$(OBJECT)" and is used in the ld command to specify
index 5eda5a3..0b43a36 100644 (file)
@@ -5,5 +5,4 @@ WriteMakefile(
              VERSION => '0.21',
              MAN3PODS  => ' ',         # Pods will be built by installman.
              XSPROTOARG => '-noprototypes',
-             PERL_MALLOC_OK => 1,
 );
diff --git a/perl.h b/perl.h
index e9e86cf..8928ffd 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -504,12 +504,10 @@ register struct op *Perl_op asm(stringify(OP_IN_REGISTER));
 
 #ifdef MYMALLOC
 #  ifdef PERL_POLLUTE_MALLOC
-#   ifndef PERL_EXTMALLOC_DEF
 #    define Perl_malloc                malloc
 #    define Perl_calloc                calloc
 #    define Perl_realloc       realloc
 #    define Perl_mfree         free
-#   endif
 #  else
 #    define EMBEDMYMALLOC      /* for compatibility */
 #  endif