summaryrefslogtreecommitdiffstats
path: root/lib/systems
diff options
context:
space:
mode:
authorLuke Granger-Brown <git@lukegb.com>2021-04-12 18:26:33 +0000
committerLuke Granger-Brown <git@lukegb.com>2021-04-12 18:49:01 +0000
commit08b22e605bc7d7560ef6ce567caa43f57178715f (patch)
treeeed46af25264ec81b18ba7a216beec55a84f6683 /lib/systems
parent82ca81cd62c785b81bf530837c05babcb9cde8a5 (diff)
parent60daed57149403acbb622e48a003422eacea4c16 (diff)
Merge remote-tracking branch 'upstream/staging-next' into down-integrate-staging
Diffstat (limited to 'lib/systems')
-rw-r--r--lib/systems/doubles.nix2
-rw-r--r--lib/systems/examples.nix12
-rw-r--r--lib/systems/parse.nix9
3 files changed, 6 insertions, 17 deletions
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 07327fa22736..8220bca249fb 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -73,7 +73,7 @@ in {
darwin = filterDoubles predicates.isDarwin;
freebsd = filterDoubles predicates.isFreeBSD;
# Should be better, but MinGW is unclear.
- gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabi; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabihf; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.elfv1; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.elfv2; });
+ gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabi; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabihf; });
illumos = filterDoubles predicates.isSunOS;
linux = filterDoubles predicates.isLinux;
netbsd = filterDoubles predicates.isNetBSD;
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 082be8902bb5..02958f31ec85 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -21,14 +21,10 @@ rec {
config = "powerpc64le-unknown-linux-musl";
};
- ppc64-elfv1 = {
- config = "powerpc64-unknown-linux-elfv1";
- };
- ppc64-elfv2 = {
- config = "powerpc64-unknown-linux-elfv2";
+ ppc64 = {
+ config = "powerpc64-unknown-linux-gnu";
+ gcc = { abi = "elfv2"; }; # for gcc configuration
};
- ppc64 = ppc64-elfv2; # default to modern elfv2
-
ppc64-musl = {
config = "powerpc64-unknown-linux-musl";
gcc = { abi = "elfv2"; }; # for gcc configuration
@@ -60,6 +56,7 @@ rec {
armv7a-android-prebuilt = {
config = "armv7a-unknown-linux-androideabi";
+ rustc.config = "armv7-linux-androideabi";
sdkVer = "29";
ndkVer = "21";
useAndroidPrebuilt = true;
@@ -67,6 +64,7 @@ rec {
aarch64-android-prebuilt = {
config = "aarch64-unknown-linux-android";
+ rustc.config = "aarch64-linux-android";
sdkVer = "29";
ndkVer = "21";
useAndroidPrebuilt = true;
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 8e012622ccd0..a06ac0d11f74 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -337,18 +337,10 @@ 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 = {};
@@ -452,7 +444,6 @@ 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;
};