Make deferred loading of shared libraries the default
Perl 5 Porters [Mon, 24 Jun 1996 03:49:34 +0000 (03:49 +0000)]
hints/hpux.sh

index 0f8d33c..8eaf272 100644 (file)
@@ -94,11 +94,14 @@ fi
 set `echo " $libswanted " | sed  -e 's@ ld @ @' -e 's@ dbm @ @' -e 's@ BSD @ @' -e 's@ PW @ @'`
 libswanted="$*"
 
-# If you copy the perl binaries to other systems and the dynamic loader
-# complains about missing libraries, you can either copy the shared libraries
-# or switch the comments to recompile perl to use archive libraries
-# ccdlflags="-Wl,-E -Wl,-a,archive $ccdlflags"
-ccdlflags="-Wl,-E $ccdlflags"
+# By setting the deferred flag below, this means that if you run perl on a
+# system that does not have the required shared library that you linked it
+# with, it will die when you try to access a symbol in the (missing) shared
+# library.  If you would rather know at perl startup time that you are
+# missing an important shared library, switch the comments so that immediate,
+# rather than deferred loading is performed.
+# ccdlflags="-Wl,-E $ccdlflags"
+ccdlflags="-Wl,-E -Wl,-B,deferred $ccdlflags"
 
 usemymalloc='y'
 alignbytes=8