summaryrefslogtreecommitdiffstats
path: root/lib/systems/parse.nix
diff options
context:
space:
mode:
Diffstat (limited to 'lib/systems/parse.nix')
-rw-r--r--lib/systems/parse.nix9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index a06ac0d11f74..8e012622ccd0 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -337,10 +337,18 @@ rec {
The "gnu" ABI is ambiguous on 32-bit ARM. Use "gnueabi" or "gnueabihf" instead.
'';
}
+ { assertion = platform: platform.system != "powerpc64-linux";
+ message = ''
+ The "gnu" ABI is ambiguous on big-endian 64-bit PPC. Use "elfv1" or "elfv2" instead.
+ '';
+ }
];
};
gnuabi64 = { abi = "64"; };
+ elfv1 = { abi = "elfv1"; };
+ elfv2 = { abi = "elfv2"; };
+
musleabi = { float = "soft"; };
musleabihf = { float = "hard"; };
musl = {};
@@ -444,6 +452,7 @@ rec {
if lib.versionAtLeast (parsed.cpu.version or "0") "6"
then abis.gnueabihf
else abis.gnueabi
+ else if cpu == "powerpc64" then abis.elfv2
else abis.gnu
else abis.unknown;
};