diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2018-05-12 15:21:30 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2018-05-12 15:21:30 -0400 |
commit | 92b7a814f26ee1d37e989431c18518c67285a332 (patch) | |
tree | 3abff63217cd5e7b80cf3384e6226175780b22b5 /lib/systems | |
parent | b0d29e7e179f20c92f18e2eff13b871d015adc5a (diff) | |
parent | f2004e62870aa6b21dd52612295da973194c7c73 (diff) | |
download | nixlib-92b7a814f26ee1d37e989431c18518c67285a332.tar nixlib-92b7a814f26ee1d37e989431c18518c67285a332.tar.gz nixlib-92b7a814f26ee1d37e989431c18518c67285a332.tar.bz2 nixlib-92b7a814f26ee1d37e989431c18518c67285a332.tar.lz nixlib-92b7a814f26ee1d37e989431c18518c67285a332.tar.xz nixlib-92b7a814f26ee1d37e989431c18518c67285a332.tar.zst nixlib-92b7a814f26ee1d37e989431c18518c67285a332.zip |
Merge branch 'fix-gcc-with-float'
Diffstat (limited to 'lib/systems')
-rw-r--r-- | lib/systems/parse.nix | 29 | ||||
-rw-r--r-- | lib/systems/platforms.nix | 1 |
2 files changed, 17 insertions, 13 deletions
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index 4c34ace3f277..d79947ad3dea 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -68,17 +68,17 @@ rec { cpuTypes = with significantBytes; setTypes types.openCpuType { arm = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv6m = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv7a = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv7r = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv7m = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv7l = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv8a = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv8r = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv8m = { bits = 32; significantByte = littleEndian; family = "arm"; }; - aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; }; + armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; version = "5"; }; + armv6m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "6"; }; + armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; version = "6"; }; + armv7a = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; }; + armv7r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; }; + armv7m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; }; + armv7l = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; }; + armv8a = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; }; + armv8r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; }; + armv8m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; }; + aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; version = "8"; }; i686 = { bits = 32; significantByte = littleEndian; family = "x86"; }; x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; }; @@ -295,7 +295,12 @@ rec { kernel = getKernel args.kernel; abi = /**/ if args ? abi then getAbi args.abi - else if isLinux parsed then (if isAarch32 parsed then abis.gnueabi else abis.gnu) + else if isLinux parsed then + if isAarch32 parsed then + if lib.versionAtLeast (parsed.cpu.version or "0") "6" + then abis.gnueabihf + else abis.gnueabi + else abis.gnu else if isWindows parsed then abis.gnu else abis.unknown; }; diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index 5becaf581a45..32f055b6b1c5 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -245,7 +245,6 @@ rec { gcc = { arch = "armv6"; fpu = "vfp"; - float = "hard"; # TODO(@Ericson2314) what is this and is it a good idea? It was # used in some cross compilation examples but not others. # |