Merge pull request #116495 from r-burns/ppc64
lib/systems: remove powerpc64 elfv1 support
This commit is contained in:
commit
9f198c1423
@ -73,7 +73,7 @@ in {
|
|||||||
darwin = filterDoubles predicates.isDarwin;
|
darwin = filterDoubles predicates.isDarwin;
|
||||||
freebsd = filterDoubles predicates.isFreeBSD;
|
freebsd = filterDoubles predicates.isFreeBSD;
|
||||||
# Should be better, but MinGW is unclear.
|
# 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;
|
illumos = filterDoubles predicates.isSunOS;
|
||||||
linux = filterDoubles predicates.isLinux;
|
linux = filterDoubles predicates.isLinux;
|
||||||
netbsd = filterDoubles predicates.isNetBSD;
|
netbsd = filterDoubles predicates.isNetBSD;
|
||||||
|
@ -21,14 +21,10 @@ rec {
|
|||||||
config = "powerpc64le-unknown-linux-musl";
|
config = "powerpc64le-unknown-linux-musl";
|
||||||
};
|
};
|
||||||
|
|
||||||
ppc64-elfv1 = {
|
ppc64 = {
|
||||||
config = "powerpc64-unknown-linux-elfv1";
|
config = "powerpc64-unknown-linux-gnu";
|
||||||
|
gcc = { abi = "elfv2"; }; # for gcc configuration
|
||||||
};
|
};
|
||||||
ppc64-elfv2 = {
|
|
||||||
config = "powerpc64-unknown-linux-elfv2";
|
|
||||||
};
|
|
||||||
ppc64 = ppc64-elfv2; # default to modern elfv2
|
|
||||||
|
|
||||||
ppc64-musl = {
|
ppc64-musl = {
|
||||||
config = "powerpc64-unknown-linux-musl";
|
config = "powerpc64-unknown-linux-musl";
|
||||||
gcc = { abi = "elfv2"; }; # for gcc configuration
|
gcc = { abi = "elfv2"; }; # for gcc configuration
|
||||||
|
@ -337,18 +337,10 @@ rec {
|
|||||||
The "gnu" ABI is ambiguous on 32-bit ARM. Use "gnueabi" or "gnueabihf" instead.
|
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"; };
|
gnuabi64 = { abi = "64"; };
|
||||||
|
|
||||||
elfv1 = { abi = "elfv1"; };
|
|
||||||
elfv2 = { abi = "elfv2"; };
|
|
||||||
|
|
||||||
musleabi = { float = "soft"; };
|
musleabi = { float = "soft"; };
|
||||||
musleabihf = { float = "hard"; };
|
musleabihf = { float = "hard"; };
|
||||||
musl = {};
|
musl = {};
|
||||||
@ -452,7 +444,6 @@ rec {
|
|||||||
if lib.versionAtLeast (parsed.cpu.version or "0") "6"
|
if lib.versionAtLeast (parsed.cpu.version or "0") "6"
|
||||||
then abis.gnueabihf
|
then abis.gnueabihf
|
||||||
else abis.gnueabi
|
else abis.gnueabi
|
||||||
else if cpu == "powerpc64" then abis.elfv2
|
|
||||||
else abis.gnu
|
else abis.gnu
|
||||||
else abis.unknown;
|
else abis.unknown;
|
||||||
};
|
};
|
||||||
|
@ -19,8 +19,7 @@ in with pkgs; rec {
|
|||||||
tarMinimal = gnutar.override { acl = null; };
|
tarMinimal = gnutar.override { acl = null; };
|
||||||
|
|
||||||
busyboxMinimal = busybox.override {
|
busyboxMinimal = busybox.override {
|
||||||
useMusl = with stdenv.targetPlatform; !isRiscV &&
|
useMusl = !stdenv.targetPlatform.isRiscV;
|
||||||
(system == "powerpc64-linux" -> parsed.abi.name != "elfv1");
|
|
||||||
enableStatic = true;
|
enableStatic = true;
|
||||||
enableMinimal = true;
|
enableMinimal = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
@ -227,6 +227,8 @@ let
|
|||||||
}.${stdenv.hostPlatform.parsed.abi.name}
|
}.${stdenv.hostPlatform.parsed.abi.name}
|
||||||
or lib.systems.parse.abis.musl;
|
or lib.systems.parse.abis.musl;
|
||||||
};
|
};
|
||||||
|
} // lib.optionalAttrs (stdenv.hostPlatform.system == "powerpc64-linux") {
|
||||||
|
gcc.abi = "elfv2";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user