lib: Clean up float/fpu options

ARM ABIs now have a float field. This is used as a fallback to lessen
our use of `platform.gcc.float`. I didn't know what the MIPs convention
is so I kept using `platform.gcc.float` in that case.
This commit is contained in:
John Ericson
2018-05-10 17:31:07 -04:00
parent c9f6a82b61
commit 1fe81a4bcd
5 changed files with 25 additions and 29 deletions

View File

@@ -11,21 +11,16 @@ rec {
sheevaplug = rec {
config = "armv5tel-unknown-linux-gnueabi";
float = "soft";
platform = platforms.sheevaplug;
};
raspberryPi = rec {
config = "armv6l-unknown-linux-gnueabihf";
float = "hard";
fpu = "vfp";
platform = platforms.raspberrypi;
};
armv7l-hf-multiplatform = rec {
config = "armv7a-unknown-linux-gnueabihf";
float = "hard";
fpu = "vfpv3-d16";
platform = platforms.armv7l-hf-multiplatform;
};
@@ -47,26 +42,24 @@ rec {
pogoplug4 = rec {
config = "armv5tel-unknown-linux-gnueabi";
float = "soft";
platform = platforms.pogoplug4;
};
ben-nanonote = rec {
config = "mipsel-unknown-linux-uclibc";
float = "soft";
platform = {
name = "ben_nanonote";
kernelMajor = "2.6";
kernelArch = "mips";
gcc = {
arch = "mips32";
float = "soft";
};
};
};
fuloongminipc = rec {
config = "mipsel-unknown-linux-gnu";
float = "hard";
platform = platforms.fuloong2f_n32;
};

View File

@@ -182,20 +182,24 @@ rec {
types.abi = enum (attrValues abis);
abis = setTypes types.openAbi {
android = {};
cygnus = {};
gnu = {};
msvc = {};
eabi = {};
androideabi = {};
gnueabi = {};
gnueabihf = {};
musleabi = {};
musleabihf = {};
musl = {};
uclibceabihf = {};
uclibceabi = {};
uclibc = {};
cygnus = {};
msvc = {};
eabi = {};
androideabi = {};
android = {};
gnueabi = { float = "soft"; };
gnueabihf = { float = "hard"; };
gnu = {};
musleabi = { float = "soft"; };
musleabihf = { float = "hard"; };
musl = {};
uclibceabihf = { float = "soft"; };
uclibceabi = { float = "hard"; };
uclibc = {};
unknown = {};
};

View File

@@ -25,7 +25,6 @@ rec {
gcc = {
arch = "armv5te";
float = "soft";
};
kernelMajor = "2.6";
@@ -158,7 +157,6 @@ rec {
kernelDTB = true; # Beyond 3.10
gcc = {
arch = "armv5te";
float = "soft";
};
};
@@ -336,7 +334,6 @@ rec {
gcc = {
cpu = "cortex-a9";
fpu = "vfpv3";
float = "hard";
};
};
@@ -363,7 +360,6 @@ rec {
gcc = {
cpu = "cortex-a9";
fpu = "neon";
float = "hard";
};
};
@@ -449,6 +445,7 @@ rec {
kernelTarget = "vmlinux";
gcc = {
arch = "loongson2f";
float = "hard";
abi = "n32";
};
};
@@ -498,7 +495,6 @@ rec {
# and the above page suggests NEON is only an improvement with hand-written assembly.
arch = "armv7-a";
fpu = "vfpv3-d16";
float = "hard";
# For Raspberry Pi the 2 the best would be:
# cpu = "cortex-a7";