systems/parse.nix: fixup arm compatibilities

This commit is contained in:
Matthew Bauer 2019-04-10 17:16:48 -04:00
parent 65f2b0a2a3
commit 59bb1dcbfb

View File

@ -127,22 +127,42 @@ rec {
(b == i386 && isCompatible a i486) (b == i386 && isCompatible a i486)
(b == i486 && isCompatible a i586) (b == i486 && isCompatible a i586)
(b == i586 && isCompatible a i686) (b == i586 && isCompatible a i686)
# NOTE: Not true in some cases. Like in WSL mode.
# XXX: Not true in some cases. Like in WSL mode.
(b == i686 && isCompatible a x86_64) (b == i686 && isCompatible a x86_64)
# ARM # ARMv4
(b == arm && isCompatible a armv5tel) (b == arm && isCompatible a armv5tel)
(b == armv5tel && isCompatible a armv6m)
(b == armv6m && isCompatible a armv6l) # ARMv5
(b == armv6l && isCompatible a armv7a) (b == armv5tel && isCompatible a armv6l)
(b == armv7a && isCompatible a armv7r)
(b == armv7r && isCompatible a armv7m) # ARMv6
(b == armv7m && isCompatible a armv7l) (b == armv6l && isCompatible a armv6m)
(b == armv7l && isCompatible a armv8a) (b == armv6m && isCompatible a armv7l)
(b == armv8a && isCompatible a armv8r)
(b == armv8r && isCompatible a armv8m) # ARMv7
# NOTE: not always true! Some arm64 cpus dont support arm32 mode. (b == armv7l && isCompatible a armv7a)
(b == armv8m && isCompatible a aarch64) (b == armv7l && isCompatible a armv7r)
(b == armv7l && isCompatible a armv7m)
(b == armv7a && isCompatible a armv8a)
(b == armv7r && isCompatible a armv8a)
(b == armv7m && isCompatible a armv8a)
(b == armv7a && isCompatible a armv8r)
(b == armv7r && isCompatible a armv8r)
(b == armv7m && isCompatible a armv8r)
(b == armv7a && isCompatible a armv8m)
(b == armv7r && isCompatible a armv8m)
(b == armv7m && isCompatible a armv8m)
# ARMv8
(b == armv8r && isCompatible a armv8a)
(b == armv8m && isCompatible a armv8a)
# XXX: not always true! Some arm64 cpus dont support arm32 mode.
(b == aarch64 && a == armv8a)
(b == armv8a && isCompatible a aarch64)
(b == aarch64 && a == aarch64_be) (b == aarch64 && a == aarch64_be)
(b == aarch64_be && isCompatible a aarch64) (b == aarch64_be && isCompatible a aarch64)