Merge pull request #44124 from grahamc/sparc
systems: Allow detection of powerpc and sparc
This commit is contained in:
commit
bbe31da148
|
@ -16,6 +16,7 @@ rec {
|
||||||
isAarch64 = { cpu = { family = "arm"; bits = 64; }; };
|
isAarch64 = { cpu = { family = "arm"; bits = 64; }; };
|
||||||
isMips = { cpu = { family = "mips"; }; };
|
isMips = { cpu = { family = "mips"; }; };
|
||||||
isRiscV = { cpu = { family = "riscv"; }; };
|
isRiscV = { cpu = { family = "riscv"; }; };
|
||||||
|
isSparc = { cpu = { family = "sparc"; }; };
|
||||||
isWasm = { cpu = { family = "wasm"; }; };
|
isWasm = { cpu = { family = "wasm"; }; };
|
||||||
|
|
||||||
is32bit = { cpu = { bits = 32; }; };
|
is32bit = { cpu = { bits = 32; }; };
|
||||||
|
|
|
@ -93,6 +93,9 @@ rec {
|
||||||
riscv32 = { bits = 32; significantByte = littleEndian; family = "riscv"; };
|
riscv32 = { bits = 32; significantByte = littleEndian; family = "riscv"; };
|
||||||
riscv64 = { bits = 64; significantByte = littleEndian; family = "riscv"; };
|
riscv64 = { bits = 64; significantByte = littleEndian; family = "riscv"; };
|
||||||
|
|
||||||
|
sparc = { bits = 32; significantByte = bigEndian; family = "sparc"; };
|
||||||
|
sparc64 = { bits = 64; significantByte = bigEndian; family = "sparc"; };
|
||||||
|
|
||||||
wasm32 = { bits = 32; significantByte = littleEndian; family = "wasm"; };
|
wasm32 = { bits = 32; significantByte = littleEndian; family = "wasm"; };
|
||||||
wasm64 = { bits = 64; significantByte = littleEndian; family = "wasm"; };
|
wasm64 = { bits = 64; significantByte = littleEndian; family = "wasm"; };
|
||||||
};
|
};
|
||||||
|
|
|
@ -185,6 +185,8 @@ stdenv.mkDerivation {
|
||||||
"mips64" = "btsmip";
|
"mips64" = "btsmip";
|
||||||
"mips64el" = "ltsmip";
|
"mips64el" = "ltsmip";
|
||||||
}.${targetPlatform.parsed.cpu.name}
|
}.${targetPlatform.parsed.cpu.name}
|
||||||
|
else if targetPlatform.isPowerPC then "powerpc"
|
||||||
|
else if targetPlatform.isSparc then "sparc"
|
||||||
else throw "unknown emulation for platform: " + targetPlatform.config;
|
else throw "unknown emulation for platform: " + targetPlatform.config;
|
||||||
in targetPlatform.platform.bfdEmulation or (fmt + sep + arch);
|
in targetPlatform.platform.bfdEmulation or (fmt + sep + arch);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue