diff options
author | Andrew Childs <lorne@cons.org.nz> | 2020-11-19 16:55:25 +0900 |
---|---|---|
committer | Andrew Childs <lorne@cons.org.nz> | 2021-05-17 00:27:01 +0900 |
commit | 15637fe6214833a63f732c227604ea32930a1203 (patch) | |
tree | 3114e8628b181e65b07290d3b13719eceab1deca /pkgs/build-support/bintools-wrapper/ld-wrapper.sh | |
parent | eb8f8afac7a5ca3b824cc9032f900a6486f68536 (diff) | |
download | nixpkgs-15637fe6214833a63f732c227604ea32930a1203.tar nixpkgs-15637fe6214833a63f732c227604ea32930a1203.tar.gz nixpkgs-15637fe6214833a63f732c227604ea32930a1203.tar.bz2 nixpkgs-15637fe6214833a63f732c227604ea32930a1203.tar.lz nixpkgs-15637fe6214833a63f732c227604ea32930a1203.tar.xz nixpkgs-15637fe6214833a63f732c227604ea32930a1203.tar.zst nixpkgs-15637fe6214833a63f732c227604ea32930a1203.zip |
bintools-wrapper: support post linker hooks
Diffstat (limited to 'pkgs/build-support/bintools-wrapper/ld-wrapper.sh')
-rw-r--r-- | pkgs/build-support/bintools-wrapper/ld-wrapper.sh | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh index 7ccf5510c88..e54dd6f4714 100644 --- a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh +++ b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh @@ -102,6 +102,8 @@ declare -a libDirs declare -A libs declare -i relocatable=0 link32=0 +linkerOutput="a.out" + if [ "$NIX_DONT_SET_RPATH_@suffixSalt@" != 1 ] \ || [ "$NIX_SET_BUILD_ID_@suffixSalt@" = 1 ] \ @@ -153,6 +155,24 @@ then done fi +# Determine linkerOutput +prev= +for p in \ + ${extraBefore+"${extraBefore[@]}"} \ + ${params+"${params[@]}"} \ + ${extraAfter+"${extraAfter[@]}"} +do + case "$prev" in + -o) + # Informational for post-link-hook + linkerOutput="$p" + ;; + *) + ;; + esac + prev="$p" +done + if [[ "$link32" = "1" && "$setDynamicLinker" = 1 && -e "@out@/nix-support/dynamic-linker-m32" ]]; then # We have an alternate 32-bit linker and we're producing a 32-bit ELF, let's # use it. @@ -223,7 +243,11 @@ fi PATH="$path_backup" # Old bash workaround, see above. -exec @prog@ \ +@prog@ \ ${extraBefore+"${extraBefore[@]}"} \ ${params+"${params[@]}"} \ ${extraAfter+"${extraAfter[@]}"} + +if [ -e "@out@/nix-support/post-link-hook" ]; then + source @out@/nix-support/post-link-hook +fi |