summary refs log tree commit diff
path: root/pkgs/build-support/cc-wrapper/ld-wrapper.sh
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-04-01 10:06:01 +0200
committerVladimír Čunát <vcunat@gmail.com>2016-04-01 10:06:01 +0200
commitab15a62c68bf7bf3b02e3bab00d121cc1426733c (patch)
tree398a82403b04bfa0bae8cadf1c5a64cf83145965 /pkgs/build-support/cc-wrapper/ld-wrapper.sh
parentc643ccaa8c91f78b8c89eb87589886b8906d5b38 (diff)
parenta26357eefe017964448b5bb464163646b927a267 (diff)
downloadnixpkgs-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar
nixpkgs-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.gz
nixpkgs-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.bz2
nixpkgs-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.lz
nixpkgs-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.xz
nixpkgs-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.zst
nixpkgs-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.zip
Merge branch 'master' into closure-size
Beware that stdenv doesn't build. It seems something more will be needed
than just resolution of merge conflicts.
Diffstat (limited to 'pkgs/build-support/cc-wrapper/ld-wrapper.sh')
-rw-r--r--pkgs/build-support/cc-wrapper/ld-wrapper.sh17
1 files changed, 16 insertions, 1 deletions
diff --git a/pkgs/build-support/cc-wrapper/ld-wrapper.sh b/pkgs/build-support/cc-wrapper/ld-wrapper.sh
index 955b3767a62..28d73f046e6 100644
--- a/pkgs/build-support/cc-wrapper/ld-wrapper.sh
+++ b/pkgs/build-support/cc-wrapper/ld-wrapper.sh
@@ -146,11 +146,26 @@ if [ "$NIX_DONT_SET_RPATH" != 1 ]; then
 
     # Finally, add `-rpath' switches.
     for i in $rpath; do
-        extra=(${extra[@]} -rpath $i)
+        extra+=(-rpath $i)
     done
 fi
 
 
+# Only add --build-id if this is a final link. FIXME: should build gcc
+# with --enable-linker-build-id instead?
+if [ "$NIX_SET_BUILD_ID" = 1 ]; then
+    for p in "${params[@]}"; do
+        if [ "$p" = "-r" -o "$p" = "--relocatable" -o "$p" = "-i" ]; then
+            relocatable=1
+            break
+        fi
+    done
+    if [ -z "$relocatable" ]; then
+        extra+=(--build-id)
+    fi
+fi
+
+
 # Optionally print debug info.
 if [ -n "$NIX_DEBUG" ]; then
   echo "original flags to @prog@:" >&2