diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2017-08-30 14:57:20 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2017-09-01 11:44:54 -0400 |
commit | 94c0267fc1d2dc8db27d9c4ff07dcb4d3fb23df5 (patch) | |
tree | 8f594efd9232a47ec02bd0a87b11843dd2a728fd /pkgs | |
parent | 0cdbd2d662019aaad8b74ccb2d560ca5e1a30677 (diff) | |
download | nixlib-94c0267fc1d2dc8db27d9c4ff07dcb4d3fb23df5.tar nixlib-94c0267fc1d2dc8db27d9c4ff07dcb4d3fb23df5.tar.gz nixlib-94c0267fc1d2dc8db27d9c4ff07dcb4d3fb23df5.tar.bz2 nixlib-94c0267fc1d2dc8db27d9c4ff07dcb4d3fb23df5.tar.lz nixlib-94c0267fc1d2dc8db27d9c4ff07dcb4d3fb23df5.tar.xz nixlib-94c0267fc1d2dc8db27d9c4ff07dcb4d3fb23df5.tar.zst nixlib-94c0267fc1d2dc8db27d9c4ff07dcb4d3fb23df5.zip |
cc-wrapper: Clean up dynamic linking with x86 multilib
It's better layering to do everything in ld-wrapper.
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/build-support/cc-wrapper/cc-wrapper.sh | 4 | ||||
-rw-r--r-- | pkgs/build-support/cc-wrapper/ld-wrapper.sh | 15 |
2 files changed, 15 insertions, 4 deletions
diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh index aacaf196f313..e4ffe53e2613 100644 --- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh @@ -57,10 +57,6 @@ while (( "$n" < "$nParams" )); do cppInclude=0 elif [ "${p:0:1}" != - ]; then nonFlagArgs=1 - elif [ "$p" = -m32 ]; then - if [ -e @out@/nix-support/dynamic-linker-m32 ]; then - NIX_@infixSalt@_LDFLAGS+=" -dynamic-linker $(< @out@/nix-support/dynamic-linker-m32)" - fi fi n+=1 done diff --git a/pkgs/build-support/cc-wrapper/ld-wrapper.sh b/pkgs/build-support/cc-wrapper/ld-wrapper.sh index a9cc1e3f9e6f..a80f0a1e09b8 100644 --- a/pkgs/build-support/cc-wrapper/ld-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/ld-wrapper.sh @@ -63,6 +63,21 @@ fi extraAfter+=($NIX_@infixSalt@_LDFLAGS_AFTER) +# Choose 32-bit dynamic linker if needed +if [ -e @out@/nix-support/dynamic-linker-m32 ]; then + prev= + for p in ${params+"${params[@]}"}; do + if [[ "$prev" = "-m" && "$p" = "elf_i386" ]]; then + extraAfter+=( + '-dynamic-linker' + "$(< @out@/nix-support/dynamic-linker-m32)" + ) + break + fi + prev="$p" + done +fi + declare -a libDirs declare -A libs relocatable= |