From d6112c9de80681d8494031d36da3526ea8d27582 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Sun, 16 Oct 2011 22:16:45 -0400 Subject: [PATCH] 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. --- modules/catalyst/arch/mips.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/modules/catalyst/arch/mips.py b/modules/catalyst/arch/mips.py index 46fafa8e..4b6e77c1 100644 --- a/modules/catalyst/arch/mips.py +++ b/modules/catalyst/arch/mips.py @@ -41,12 +41,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): @@ -179,12 +193,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): @@ -325,7 +353,9 @@ _subarch_map = { "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, @@ -349,7 +379,9 @@ _subarch_map = { "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, -- 2.26.2