diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 68c05d289784a..3124b07367783 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -152,6 +152,9 @@ stdenv.mkDerivation ({ libc_dev = stdenv.cc.libc_dev; + # set this var to use in builder.sh + target_triple = targetPlatform.config; + hardeningDisable = [ "format" "pie" ]; # This should kill all the stdinc frameworks that gcc and friends like to diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh index 07a003691d6b2..795b52d0f5974 100644 --- a/pkgs/development/compilers/gcc/builder.sh +++ b/pkgs/development/compilers/gcc/builder.sh @@ -213,9 +213,24 @@ preInstall() { postInstall() { # Move runtime libraries to $lib. - moveToOutput "lib/lib*.so*" "$lib" - moveToOutput "lib/lib*.la" "$lib" - moveToOutput "lib/lib*.dylib" "$lib" + if [[ -d "$out/$target_triple/lib" && -n "$(ls -A $out/$target_triple/lib)" ]]; then + moveToOutput "$target_triple/lib/lib*.so*" "$lib" + moveToOutput "$target_triple/lib/lib*.la" "$lib" + moveToOutput "$target_triple/lib/lib*.dylib" "$lib" + mv "$lib/$target_triple"/lib/* "$lib/lib/" + rmdir -p --ignore-fail-on-non-empty "$lib/$target_triple/lib" || : + elif [[ -d "$out/$target_triple/lib64" && -n "$(ls -A $out/$target_triple/lib64)" ]]; then + moveToOutput "$target_triple/lib64/lib*.so*" "$lib" + moveToOutput "$target_triple/lib64/lib*.la" "$lib" + moveToOutput "$target_triple/lib64/lib*.dylib" "$lib" + mv "$lib/$target_triple"/lib64/* "$lib/lib/" + rmdir -p --ignore-fail-on-non-empty "$lib/$target_triple/lib64" || : + else + moveToOutput "lib/lib*.so*" "$lib" + moveToOutput "lib/lib*.la" "$lib" + moveToOutput "lib/lib*.dylib" "$lib" + fi + moveToOutput "share/gcc-*/python" "$lib" for i in "$lib"/lib/*.{la,py}; do diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 33c8e5076daa7..76aa817a83405 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -216,6 +216,6 @@ stdenv.mkDerivation ({ # To avoid a dependency on the build system 'bash'. preFixup = '' - rm -f $bin/bin/{ldd,tzselect,catchsegv,xtrace} + rm -f $bin/bin/{ldd,tzselect,catchsegv,xtrace,sotruss} ''; })