From: Matt Turner Date: Mon, 17 Oct 2011 02:16:45 +0000 (-0400) Subject: mips.py: add mips32 softfloat targets X-Git-Tag: CATALYST-2.0.7~6 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=bb3c7c26a878f620d09821ff6a8246db41974198;p=catalyst.git 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. --- 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,