summary refs log tree commit diff
path: root/pkgs/build-support/cc-wrapper
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2016-03-14 00:26:52 +0000
committerRobin Gloster <mail@glob.in>2016-03-14 00:26:52 +0000
commita9b942c0617b1cd5f0732d05eadad0114a178f37 (patch)
treebd2f701933056708c0fdae5d90d739c511a15019 /pkgs/build-support/cc-wrapper
parent1a5acdb6956e58111cadcd15e6220fdffc9d4b64 (diff)
downloadnixlib-a9b942c0617b1cd5f0732d05eadad0114a178f37.tar
nixlib-a9b942c0617b1cd5f0732d05eadad0114a178f37.tar.gz
nixlib-a9b942c0617b1cd5f0732d05eadad0114a178f37.tar.bz2
nixlib-a9b942c0617b1cd5f0732d05eadad0114a178f37.tar.lz
nixlib-a9b942c0617b1cd5f0732d05eadad0114a178f37.tar.xz
nixlib-a9b942c0617b1cd5f0732d05eadad0114a178f37.tar.zst
nixlib-a9b942c0617b1cd5f0732d05eadad0114a178f37.zip
cc-wrapper: treat hardeningDisable as string
This fixes passing the env variable to the ld-wrapper through the gcc
call. Wtf?!
Diffstat (limited to 'pkgs/build-support/cc-wrapper')
-rw-r--r--pkgs/build-support/cc-wrapper/add-hardening6
1 files changed, 3 insertions, 3 deletions
diff --git a/pkgs/build-support/cc-wrapper/add-hardening b/pkgs/build-support/cc-wrapper/add-hardening
index 219aa74894cb..d5966136b9d5 100644
--- a/pkgs/build-support/cc-wrapper/add-hardening
+++ b/pkgs/build-support/cc-wrapper/add-hardening
@@ -2,10 +2,10 @@ hardeningFlags=(fortify stackprotector pic strictoverflow format relro bindnow)
 hardeningFlags+=("${hardeningEnable[@]}")
 hardeningCFlags=()
 hardeningLDFlags=()
-hardeningDisable=(${hardeningDisable[@]})
+hardeningDisable=${hardeningDisable:-""}
 
 if [[ "$($LD -z 2>&1)" =~ "unknown option" ]]; then
-  hardeningDisable+=(bindnow relro)
+  hardeningDisable+=" bindnow relro"
 fi
 
 if [[ -n "$NIX_DEBUG" ]]; then echo HARDENING: Value of '$hardeningDisable': $hardeningDisable >&2; fi
@@ -14,7 +14,7 @@ if [[ ! $hardeningDisable == "all" ]]; then
   if [[ -n "$NIX_DEBUG" ]]; then echo 'HARDENING: Is active (not completely disabled with "all" flag)' >&2; fi
   for flag in "${hardeningFlags[@]}"
   do
-    if [[ ! "${hardeningDisable[@]}" =~ "$flag" ]]; then
+    if [[ ! "${hardeningDisable}" =~ "$flag" ]]; then
       case $flag in
         fortify)
           if [[ -n "$NIX_DEBUG" ]]; then echo HARDENING: enabling fortify >&2; fi