From 07e4dc341fa73e8521b7964a1eebdd811c96a160 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Mon, 18 Jun 2018 19:08:50 +0200 Subject: [PATCH] Configure,util/shlib_wrap.sh: harmonize -Wl and -rpath handling. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/6515) --- Configure | 12 ++++++------ util/shlib_wrap.sh.in | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Configure b/Configure index 2e1902aeff..05b798bc7c 100755 --- a/Configure +++ b/Configure @@ -823,11 +823,7 @@ while (@argvcopy) { read_config $1; } - elsif (/^-L(.*)$/) - { - push @{$useradd{LDFLAGS}}, $_; - } - elsif (/^-l(.*)$/ or /^-Wl,/) + elsif (/^-l(.*)$/) { push @{$useradd{LDLIBS}}, $_; } @@ -835,6 +831,10 @@ while (@argvcopy) { push @{$useradd{LDLIBS}}, $_, shift(@argvcopy); } + elsif (/^-L(.*)$/ or /^-Wl,/) + { + push @{$useradd{LDFLAGS}}, $_; + } elsif (/^-rpath$/ or /^-R$/) # -rpath is the OSF1 rpath flag # -R is the old Solaris rpath flag @@ -954,7 +954,7 @@ foreach (keys %user) { } } -if (grep { $_ =~ /(^|\s)-Wl,-rpath,/ } ($user{LDLIBS} ? @{$user{LDLIBS}} : ()) +if (grep { /-rpath\b/ } ($user{LDFLAGS} ? @{$user{LDFLAGS}} : ()) && !$disabled{shared} && !($disabled{asan} && $disabled{msan} && $disabled{ubsan})) { die "***** Cannot simultaneously use -rpath, shared libraries, and\n", diff --git a/util/shlib_wrap.sh.in b/util/shlib_wrap.sh.in index b9e3ddf874..9199d12fc7 100755 --- a/util/shlib_wrap.sh.in +++ b/util/shlib_wrap.sh.in @@ -101,7 +101,7 @@ SunOS|IRIX*) ;; esac -{- output_off() if $config{ex_libs} !~ /,-rpath,/; ""; -} +{- output_off() unless grep (/-rpath\b/, @{$config{LDFLAGS}}); ""; -} if [ -f "$LIBCRYPTOSO" -a -z "$preload_var" ]; then # Following three lines are major excuse for isolating them into # this wrapper script. Original reason for setting LD_PRELOAD @@ -117,7 +117,7 @@ if [ -f "$LIBCRYPTOSO" -a -z "$preload_var" ]; then DYLD_INSERT_LIBRARIES="$LIBCRYPTOSO:$LIBSSLSO" # MacOS X export LD_PRELOAD _RLD_LIST DYLD_INSERT_LIBRARIES fi -{- output_on() if $config{ex_libs} !~ /,-rpath,/; ""; -} +{- output_on() unless grep (/-rpath\b/, @{$config{LDFLAGS}}); ""; -} cmd="$1"; [ -x "$cmd" ] || cmd="$cmd${EXE_EXT}" shift -- 2.34.1