diff options
author | Daniel Goertzen <daniel.goertzen@gmail.com> | 2019-01-06 12:57:36 -0600 |
---|---|---|
committer | Matthew Bauer <mjbauer95@gmail.com> | 2019-01-06 12:57:36 -0600 |
commit | 1c10efc912c240901b186974b8ea4f48814c7b8b (patch) | |
tree | 25a5e4591636647e6ce9d35227737b1cfb76f14f /pkgs | |
parent | a4250d14784e318f44d084095f9a41aa4375105b (diff) |
add generic x86_32 support (#52634)
* add generic x86_32 support
- Add support for i386-i586.
- Add `isx86_32` predicate that can replace most uses of `isi686`.
- `isi686` is reinterpreted to mean "exactly i686 arch, and not say i585 or i386".
- This branch was used to build working i586 kernel running on i586 hardware.
* revert `isi[345]86`, remove dead code
- Remove changes to dead code in `doubles.nix` and `for-meta.nix`.
- Remove `isi[345]86` predicates since other cpu families don't have specific model predicates.
* remove i386-linux since linux not supported on that cpu
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/build-support/bintools-wrapper/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/4.8/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/4.9/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/5/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/6/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/7/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/8/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/7/llvm.nix | 2 | ||||
-rw-r--r-- | pkgs/stdenv/generic/default.nix | 4 |
9 files changed, 11 insertions, 9 deletions
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 620ea530fc55..4122af898de9 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -177,7 +177,7 @@ stdenv.mkDerivation { /**/ if targetPlatform.isAarch64 then endianPrefix + "aarch64" else if targetPlatform.isAarch32 then endianPrefix + "arm" else if targetPlatform.isx86_64 then "x86-64" - else if targetPlatform.isx86 then "i386" + else if targetPlatform.isx86_32 then "i386" else if targetPlatform.isMips then { "mips" = "btsmipn32"; # n32 variant "mipsel" = "ltsmipn32"; # n32 variant diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 6467cfc801dc..b36529ecb3cf 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -312,7 +312,7 @@ stdenv.mkDerivation ({ optional (!bootstrap) "--disable-bootstrap" ++ # Platform-specific flags - optional (targetPlatform == hostPlatform && targetPlatform.isi686) "--with-arch=i686" ++ + optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++ optionals hostPlatform.isSunOS [ "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit" # On Illumos/Solaris GNU as is preferred diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 1676668d9111..ee00a3aee1e1 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -325,7 +325,7 @@ stdenv.mkDerivation ({ optional (!bootstrap) "--disable-bootstrap" ++ # Platform-specific flags - optional (targetPlatform == hostPlatform && targetPlatform.isi686) "--with-arch=i686" ++ + optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++ optionals hostPlatform.isSunOS [ "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit" # On Illumos/Solaris GNU as is preferred diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index 6049cdcb6e8a..15f95ef205eb 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -324,7 +324,7 @@ stdenv.mkDerivation ({ optional (!bootstrap) "--disable-bootstrap" ++ # Platform-specific flags - optional (targetPlatform == hostPlatform && targetPlatform.isi686) "--with-arch=i686" ++ + optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++ optionals hostPlatform.isSunOS [ "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit" # On Illumos/Solaris GNU as is preferred diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index a467527c613e..adaf4e36ce96 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -326,7 +326,7 @@ stdenv.mkDerivation ({ optional (!bootstrap) "--disable-bootstrap" ++ # Platform-specific flags - optional (targetPlatform == hostPlatform && targetPlatform.isi686) "--with-arch=i686" ++ + optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++ optionals hostPlatform.isSunOS [ "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit" # On Illumos/Solaris GNU as is preferred diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 41af804e551f..956f357f84c6 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -289,7 +289,7 @@ stdenv.mkDerivation ({ optional (!bootstrap) "--disable-bootstrap" ++ # Platform-specific flags - optional (targetPlatform == hostPlatform && targetPlatform.isi686) "--with-arch=i686" ++ + optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++ optionals hostPlatform.isSunOS [ "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit" # On Illumos/Solaris GNU as is preferred diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index 80d57c9d538c..66b98cc6d64c 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -277,7 +277,7 @@ stdenv.mkDerivation ({ optional (!bootstrap) "--disable-bootstrap" ++ # Platform-specific flags - optional (targetPlatform == hostPlatform && targetPlatform.isi686) "--with-arch=i686" ++ + optional (targetPlatform == hostPlatform && targetPlatform.isx86_32) "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" ++ optionals hostPlatform.isSunOS [ "--enable-long-long" "--enable-libssp" "--enable-threads=posix" "--disable-nls" "--enable-__cxa_atexit" # On Illumos/Solaris GNU as is preferred diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix index bff89812cae8..6253162f254c 100644 --- a/pkgs/development/compilers/llvm/7/llvm.nix +++ b/pkgs/development/compilers/llvm/7/llvm.nix @@ -134,7 +134,7 @@ in stdenv.mkDerivation (rec { ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib ''; - doCheck = stdenv.isLinux && (!stdenv.isi686); + doCheck = stdenv.isLinux && (!stdenv.isx86_32); checkTarget = "check-all"; diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index f77f43aea886..fccab8f60ff2 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -122,7 +122,9 @@ let # Utility flags to test the type of platform. inherit (hostPlatform) isDarwin isLinux isSunOS isCygwin isFreeBSD isOpenBSD - isi686 isx86_64 is64bit isAarch32 isAarch64 isMips isBigEndian; + isi686 isx86_32 isx86_64 + is32bit is64bit + isAarch32 isAarch64 isMips isBigEndian; isArm = lib.warn "`stdenv.isArm` is deprecated after 18.03. Please use `stdenv.isAarch32` instead" hostPlatform.isAarch32; |