diff options
author | Minijackson <minijackson@riseup.net> | 2022-07-25 12:20:58 +0200 |
---|---|---|
committer | Rick van Schijndel <Mindavi@users.noreply.github.com> | 2022-08-28 21:46:44 +0200 |
commit | da2d9a2aca33d628e20b8a8693fb995192d31903 (patch) | |
tree | d3c06429fa581d17fcd3dbc13729e56650f17ba4 /lib/systems | |
parent | 444208798aefb1787b8ef0851f5c3d49113bd014 (diff) |
lib/systems: add elfv1 / elfv2 ABIs
Diffstat (limited to 'lib/systems')
-rw-r--r-- | lib/systems/inspect.nix | 2 | ||||
-rw-r--r-- | lib/systems/parse.nix | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index 54d398018e0b1..833966e57a6b1 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -65,7 +65,7 @@ rec { isNone = { kernel = kernels.none; }; isAndroid = [ { abi = abis.android; } { abi = abis.androideabi; } ]; - isGnu = with abis; map (a: { abi = a; }) [ gnuabi64 gnu gnueabi gnueabihf ]; + isGnu = with abis; map (a: { abi = a; }) [ gnuabi64 gnu gnueabi gnueabihf gnuabielfv1 gnuabielfv2 ]; isMusl = with abis; map (a: { abi = a; }) [ musl musleabi musleabihf muslabin32 muslabi64 ]; isUClibc = with abis; map (a: { abi = a; }) [ uclibc uclibceabi uclibceabihf ]; diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index be5b1a0892bba..b780292854457 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -353,6 +353,11 @@ rec { The "gnu" ABI is ambiguous on 32-bit ARM. Use "gnueabi" or "gnueabihf" instead. ''; } + { assertion = platform: with platform; !(isPower64 && isBigEndian); + message = '' + The "gnu" ABI is ambiguous on big-endian 64-bit PowerPC. Use "gnuabielfv2" or "gnuabielfv1" instead. + ''; + } ]; }; gnuabi64 = { abi = "64"; }; @@ -364,6 +369,9 @@ rec { gnuabin32 = { abi = "n32"; }; muslabin32 = { abi = "n32"; }; + gnuabielfv2 = { abi = "elfv2"; }; + gnuabielfv1 = { abi = "elfv1"; }; + musleabi = { float = "soft"; }; musleabihf = { float = "hard"; }; musl = {}; |