bintools-wrapper: skip dynamic linker for static binaries
This commit is contained in:
@@ -28,6 +28,7 @@ cc1=0
|
||||
[[ "@prog@" = *++ ]] && isCpp=1 || isCpp=0
|
||||
cppInclude=1
|
||||
cInclude=1
|
||||
setDynamicLinker=1
|
||||
|
||||
expandResponseParams "$@"
|
||||
declare -i n=0
|
||||
@@ -58,6 +59,8 @@ while (( "$n" < "$nParams" )); do
|
||||
cppInclude=0
|
||||
elif [ "$p" = -nostdinc++ ]; then
|
||||
cppInclude=0
|
||||
elif [[ "$p" = -static || "$p" = -static-pie ]]; then
|
||||
setDynamicLinker=0
|
||||
elif [[ "$p" != -?* ]]; then
|
||||
# A dash alone signifies standard input; it is not a flag
|
||||
nonFlagArgs=1
|
||||
@@ -152,6 +155,9 @@ if [ "$dontLink" != 1 ]; then
|
||||
for i in $NIX_LDFLAGS_BEFORE_@suffixSalt@; do
|
||||
extraBefore+=("-Wl,$i")
|
||||
done
|
||||
if [[ "$setDynamicLinker" = 1 && -n "$NIX_DYNAMIC_LINKER_@suffixSalt@" ]]; then
|
||||
extraBefore+=("-Wl,-dynamic-linker=$NIX_DYNAMIC_LINKER_@suffixSalt@")
|
||||
fi
|
||||
for i in $NIX_LDFLAGS_@suffixSalt@; do
|
||||
if [ "${i:0:3}" = -L/ ]; then
|
||||
extraAfter+=("$i")
|
||||
|
||||
Reference in New Issue
Block a user