diff options
author | Matt Turner <mattst88@gmail.com> | 2011-10-16 22:16:45 -0400 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2011-10-16 22:16:45 -0400 |
commit | bb3c7c26a878f620d09821ff6a8246db41974198 (patch) | |
tree | 4c338b2967173cf94a9d549c190ef504ed8b9bb9 /arch | |
parent | Re-add MD5 until handbook is updated. (diff) | |
download | catalyst-bb3c7c26a878f620d09821ff6a8246db41974198.tar.gz catalyst-bb3c7c26a878f620d09821ff6a8246db41974198.tar.bz2 catalyst-bb3c7c26a878f620d09821ff6a8246db41974198.zip |
mips.py: add mips32 softfloat targets
softfloat targets are for producing a userland (ie glibc, gcc) that
handles software floating-point emulation in userspace. The alternative
is configuring your kernel to emulate floating-point math, which is
slower but allows you to use a standard "hard float" userland.
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/mips.py b/arch/mips.py index a0f0fede..ca8e828c 100644 --- a/arch/mips.py +++ b/arch/mips.py @@ -42,12 +42,26 @@ class arch_mips32(generic_mips): generic_mips.__init__(self,myspec) self.settings["CFLAGS"]="-O2 -march=mips32 -mabi=32 -pipe" +class arch_mips32_softfloat(generic_mips): + "Builder class for MIPS 32 [Big-endian softfloat]" + def __init__(self,myspec): + generic_mips.__init__(self,myspec) + self.settings["CFLAGS"]="-O2 -march=mips32 -mabi=32 -pipe" + self.settings["CHOST"]="mips-softfloat-linux-gnu" + class arch_mips32r2(generic_mips): "Builder class for MIPS 32r2 [Big-endian]" def __init__(self,myspec): generic_mips.__init__(self,myspec) self.settings["CFLAGS"]="-O2 -march=mips32r2 -mabi=32 -pipe" +class arch_mips32r2_softfloat(generic_mips): + "Builder class for MIPS 32r2 [Big-endian softfloat]" + def __init__(self,myspec): + generic_mips.__init__(self,myspec) + self.settings["CFLAGS"]="-O2 -march=mips32r2 -mabi=32 -pipe" + self.settings["CHOST"]="mips-softfloat-linux-gnu" + class arch_mips3(generic_mips): "Builder class for MIPS III [Big-endian]" def __init__(self,myspec): @@ -180,12 +194,26 @@ class arch_mips32el(generic_mipsel): generic_mipsel.__init__(self,myspec) self.settings["CFLAGS"]="-O2 -march=mips32 -mabi=32 -pipe" +class arch_mips32el_softfloat(generic_mipsel): + "Builder class for MIPS 32 [Little-endian softfloat]" + def __init__(self,myspec): + generic_mipsel.__init__(self,myspec) + self.settings["CFLAGS"]="-O2 -march=mips32 -mabi=32 -pipe" + self.settings["CHOST"]="mipsel-softfloat-linux-gnu" + class arch_mips32r2el(generic_mipsel): "Builder class for MIPS 32r2 [Little-endian]" def __init__(self,myspec): generic_mipsel.__init__(self,myspec) self.settings["CFLAGS"]="-O2 -march=mips32r2 -mabi=32 -pipe" +class arch_mips32r2el_softfloat(generic_mipsel): + "Builder class for MIPS 32r2 [Little-endian softfloat]" + def __init__(self,myspec): + generic_mipsel.__init__(self,myspec) + self.settings["CFLAGS"]="-O2 -march=mips32r2 -mabi=32 -pipe" + self.settings["CHOST"]="mipsel-softfloat-linux-gnu" + class arch_mipsel3(generic_mipsel): "Builder class for MIPS III [Little-endian]" def __init__(self,myspec): @@ -328,7 +356,9 @@ def register(): "mips" : arch_mips1, "mips1" : arch_mips1, "mips32" : arch_mips32, + "mips32_softfloat" : arch_mips32_softfloat, "mips32r2" : arch_mips32r2, + "mips32r2_softfloat" : arch_mips32r2_softfloat, "mips3" : arch_mips3, "mips3_n32" : arch_mips3_n32, "mips3_n64" : arch_mips3_n64, @@ -352,7 +382,9 @@ def register(): "mipsel" : arch_mipsel1, "mipsel1" : arch_mipsel1, "mips32el" : arch_mips32el, + "mips32el_softfloat" : arch_mips32el_softfloat, "mips32r2el" : arch_mips32r2el, + "mips32r2el_softfloat" : arch_mips32r2el_softfloat, "mipsel3" : arch_mipsel3, "mipsel3_n32" : arch_mipsel3_n32, "mipsel3_n64" : arch_mipsel3_n64, |