Merge pull request #35247 from telent/mips32

lib, treewide: Add missing MIPS arches, and fix existing usage
This commit is contained in:
John Ericson
2018-02-27 14:01:15 -05:00
committed by GitHub
14 changed files with 30 additions and 19 deletions
@@ -58,7 +58,7 @@ let
else if (with targetPlatform; isArm && isLinux) then "${libc_lib}/lib/ld-linux*.so.3"
else if targetPlatform.system == "aarch64-linux" then "${libc_lib}/lib/ld-linux-aarch64.so.1"
else if targetPlatform.system == "powerpc-linux" then "${libc_lib}/lib/ld.so.1"
else if targetPlatform.system == "mips64el-linux" then "${libc_lib}/lib/ld.so.1"
else if targetPlatform.isMips then "${libc_lib}/lib/ld.so.1"
else if targetPlatform.isDarwin then "/usr/lib/dyld"
else if stdenv.lib.hasSuffix "pc-gnu" targetPlatform.config then "ld.so.1"
else null;
@@ -171,13 +171,20 @@ stdenv.mkDerivation {
else if targetPlatform.isWindows then "pe"
else "elf" + toString targetPlatform.parsed.cpu.bits;
endianPrefix = if targetPlatform.isBigEndian then "big" else "little";
sep = optionalString (targetPlatform.isx86 || targetPlatform.isArm) "-";
arch =
/**/ if targetPlatform.isAarch64 then endianPrefix + "aarch64"
else if targetPlatform.isArm then endianPrefix + "arm"
else if targetPlatform.isx86_64 then "x86-64"
else if targetPlatform.isi686 then "i386"
else if targetPlatform.isMips then {
"mips" = "btsmipn32"; # n32 variant
"mipsel" = "ltsmipn32"; # n32 variant
"mips64" = "btsmip";
"mips64el" = "ltsmip";
}.${targetPlatform.parsed.cpu.name}
else throw "unknown emulation for platform: " + targetPlatform.config;
in targetPlatform.platform.bfdEmulation or (fmt + "-" + arch);
in targetPlatform.platform.bfdEmulation or (fmt + sep + arch);
depsTargetTargetPropagated = extraPackages;