The following patch is independent of two previous patches.  Use
together with them, it decreases memory consumption of

         use DynaLoader;

to 50K (100K without this patch, 160K without today's patches, 300K
with 5.004_04).

Enjoy,
Ilya

--- ./ext/DynaLoader/DynaLoader_pm.PL.orig	Wed Jun 10 03:29:49 1998
+++ ./ext/DynaLoader/DynaLoader_pm.PL	Fri Jul 10 21:54:07 1998
@@ -30,9 +30,6 @@ package DynaLoader;
 
 $VERSION = $VERSION = "1.03";	# avoid typo warning
 
-require AutoLoader;
-*AUTOLOAD = \&AutoLoader::AUTOLOAD;
-
 # The following require can't be removed during maintenance
 # releases, sadly, because of the risk of buggy code that does 
 # require Carp; Carp::croak "..."; without brackets dying 
@@ -110,6 +107,8 @@ if ($dl_debug) {
 	    unless defined(&boot_DynaLoader);
 }
 
+my $tail_loaded;
+
 1; # End of main code
 
 
@@ -219,12 +218,34 @@ sub bootstrap {
 #    return undef;
 #}
 
+sub _load_tail {
+  open SELF, __FILE__ or die "error reloading DynaLoader.pm";
+  local $/ = "\n__END__\n";
+  <SELF> or die "Short second section of DynaLoader.pm";
+  eval scalar <SELF> or die;
+  close SELF or die "error reading DynaLoader.pm";
+  $tail_loaded = 1;
+}
+
+sub dl_findfile {
+  _load_tail unless $tail_loaded;
+  goto &_dl_findfile;
+}
+sub dl_expandspec {
+  _load_tail unless $tail_loaded;
+  goto &_dl_expandspec;
+}
+sub dl_find_symbol_anywhere {
+  _load_tail unless $tail_loaded;
+  goto &_dl_find_symbol_anywhere;
+}
+
 
 # Let autosplit and the autoloader deal with these functions:
 __END__
 
 
-sub dl_findfile {
+sub _dl_findfile {
     # Read ext/DynaLoader/DynaLoader.doc for detailed information.
     # This function does not automatically consider the architecture
     # or the perl library auto directories.
@@ -308,7 +329,7 @@ print OUT <<'EOT';
 }
 
 
-sub dl_expandspec {
+sub _dl_expandspec {
     my($spec) = @_;
     # Optional function invoked if DynaLoader.pm sets $do_expand.
     # Most systems do not require or use this function.
@@ -334,7 +355,7 @@ sub dl_expandspec {
     $file;
 }
 
-sub dl_find_symbol_anywhere
+sub _dl_find_symbol_anywhere
 {
     my $sym = shift;
     my $libref;
@@ -344,6 +365,10 @@ sub dl_find_symbol_anywhere
     }
     return undef;
 }
+
+1;
+
+__END__
 
 =head1 NAME
 
