summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-04-12 16:44:14 +0200
committerGitHub <noreply@github.com>2021-04-12 16:44:14 +0200
commit9f198c1423e00fe5611d980f7124c39e3d3479ae (patch)
treeddd4f78298b2c3746b4a85a50aa1fed04229435e /lib
parenta710ac72770b078f9e44efce1c7e302fceaaa9ca (diff)
parent68823d6d65b17eb900307588a723ed5acdcf98f9 (diff)
downloadnixpkgs-9f198c1423e00fe5611d980f7124c39e3d3479ae.tar
nixpkgs-9f198c1423e00fe5611d980f7124c39e3d3479ae.tar.gz
nixpkgs-9f198c1423e00fe5611d980f7124c39e3d3479ae.tar.bz2
nixpkgs-9f198c1423e00fe5611d980f7124c39e3d3479ae.tar.lz
nixpkgs-9f198c1423e00fe5611d980f7124c39e3d3479ae.tar.xz
nixpkgs-9f198c1423e00fe5611d980f7124c39e3d3479ae.tar.zst
nixpkgs-9f198c1423e00fe5611d980f7124c39e3d3479ae.zip
Merge pull request #116495 from r-burns/ppc64
lib/systems: remove powerpc64 elfv1 support
Diffstat (limited to 'lib')
-rw-r--r--lib/systems/doubles.nix2
-rw-r--r--lib/systems/examples.nix10
-rw-r--r--lib/systems/parse.nix9
3 files changed, 4 insertions, 17 deletions
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 07327fa2273..8220bca249f 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 389c4eebcc8..838b648e582 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
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 8e012622ccd..a06ac0d11f7 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;
     };