X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=util%2Fshlib_wrap.sh;h=9416d593d2b8d48fcb4579f6718826b8813501bd;hp=cbec5f040cceeda71b608f5669ce4605c00d76b5;hb=320d3fd6af25e19e5a306d6c2de8df36c767dd42;hpb=eb6eb3e630a8f17c36ee3faebb7eaf50f61b0ce7 diff --git a/util/shlib_wrap.sh b/util/shlib_wrap.sh index cbec5f040c..9416d593d2 100755 --- a/util/shlib_wrap.sh +++ b/util/shlib_wrap.sh @@ -27,6 +27,12 @@ SunOS|IRIX*) LD_PRELOAD_64="$LIBCRYPTOSO $LIBSSLSO"; export LD_PRELOAD_64 preload_var=LD_PRELOAD_64 ;; + # Why are newly built .so's preloaded anyway? Because run-time + # .so lookup path embedded into application takes precedence + # over LD_LIBRARY_PATH and as result application ends up linking + # to previously installed .so's. On IRIX instead of preloading + # newly built .so's we trick run-time linker to fail to find + # the installed .so by setting _RLD_ROOT variable. *ELF\ 32*MIPS*) #_RLD_LIST="$LIBCRYPTOSO:$LIBSSLSO:DEFAULT"; export _RLD_LIST _RLD_ROOT=/no/such/dir; export _RLD_ROOT @@ -74,7 +80,7 @@ if [ -f "$LIBCRYPTOSO" -a -z "$preload_var" ]; then # it into a script makes it possible to do so on multi-ABI # platforms. case "$SYSNAME" in - *BSD) LD_PRELOAD="$LIBCRYPTOSO:$LIBSSLSO" ;; # *BSD + *BSD|QNX) LD_PRELOAD="$LIBCRYPTOSO:$LIBSSLSO" ;; # *BSD, QNX *) LD_PRELOAD="$LIBCRYPTOSO $LIBSSLSO" ;; # SunOS, Linux, ELF HP-UX esac _RLD_LIST="$LIBCRYPTOSO:$LIBSSLSO:DEFAULT" # Tru64, o32 IRIX @@ -82,4 +88,6 @@ if [ -f "$LIBCRYPTOSO" -a -z "$preload_var" ]; then export LD_PRELOAD _RLD_LIST DYLD_INSERT_LIBRARIES fi -exec "$@" +cmd="$1${EXE_EXT}" +shift +exec "$cmd" "$@"