Index: boot/arch/mips32/Makefile.inc
===================================================================
--- boot/arch/mips32/Makefile.inc	(revision 606f6a1a04e72a23a153aa5c16118128fcb728f0)
+++ boot/arch/mips32/Makefile.inc	(revision b696cbff4a24376d6e6be1b86817a2cf94bab1e3)
@@ -29,5 +29,5 @@
 BFD_ARCH = mips
 BITS = 32
-EXTRA_CFLAGS = -msoft-float -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 -mabi=32
+EXTRA_CFLAGS = -msoft-float -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mabi=32
 
 ifeq ($(MACHINE),msim)
@@ -35,4 +35,5 @@
 	BFD_OUTPUT = binary
 	ENDIANESS = LE
+	EXTRA_CFLAGS += -march=r4000
 endif
 ifeq ($(MACHINE),lmalta)
@@ -40,4 +41,5 @@
 	BFD_OUTPUT = elf32-tradlittlemips 
 	ENDIANESS = LE
+	EXTRA_CFLAGS += -march=4kc
 endif
 ifeq ($(MACHINE),bmalta)
@@ -45,4 +47,5 @@
 	BFD_OUTPUT = elf32-tradbigmips 
 	ENDIANESS = BE
+	EXTRA_CFLAGS += -march=4kc
 endif
 
Index: kernel/arch/mips32/Makefile.inc
===================================================================
--- kernel/arch/mips32/Makefile.inc	(revision 606f6a1a04e72a23a153aa5c16118128fcb728f0)
+++ kernel/arch/mips32/Makefile.inc	(revision b696cbff4a24376d6e6be1b86817a2cf94bab1e3)
@@ -29,5 +29,5 @@
 BFD_ARCH = mips
 BFD = binary
-GCC_CFLAGS += -msoft-float -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 -mabi=32
+GCC_CFLAGS += -msoft-float -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mabi=32
 
 BITS = 32
@@ -39,13 +39,15 @@
 	BFD_NAME = elf32-tradlittlemips
 	ENDIANESS = LE
+	GCC_CFLAGS += -march=r4000
 endif
 ifeq ($(MACHINE),bmalta)
 	BFD_NAME = elf32-tradbigmips
 	ENDIANESS = BE
-	GCC_CFLAGS += -D__BE__
+	GCC_CFLAGS += -D__BE__ -march=4kc
 endif
 ifeq ($(MACHINE),lmalta)
 	BFD_NAME = elf32-tradlittlemips
 	ENDIANESS = LE
+	GCC_CFLAGS += -march=4kc
 endif
 
Index: uspace/lib/c/arch/mips32/Makefile.common
===================================================================
--- uspace/lib/c/arch/mips32/Makefile.common	(revision 606f6a1a04e72a23a153aa5c16118128fcb728f0)
+++ uspace/lib/c/arch/mips32/Makefile.common	(revision b696cbff4a24376d6e6be1b86817a2cf94bab1e3)
@@ -27,5 +27,5 @@
 #
 
-GCC_CFLAGS += -msoft-float -mips3 -mabi=32
+GCC_CFLAGS += -msoft-float -mabi=32
 BASE_LIBS += $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
 
@@ -34,2 +34,11 @@
 BFD_ARCH = mips
 BFD_NAME = elf32-tradlittlemips
+
+ifeq ($(MACHINE),msim)
+	GCC_CFLAGS += -march=r4000 
+endif
+
+ifeq ($(MACHINE),lmalta)
+	GCC_CFLAGS += -march=4kc
+endif
+
Index: uspace/lib/c/arch/mips32eb/Makefile.common
===================================================================
--- uspace/lib/c/arch/mips32eb/Makefile.common	(revision 606f6a1a04e72a23a153aa5c16118128fcb728f0)
+++ uspace/lib/c/arch/mips32eb/Makefile.common	(revision b696cbff4a24376d6e6be1b86817a2cf94bab1e3)
@@ -27,5 +27,5 @@
 #
 
-GCC_CFLAGS += -msoft-float -mips3 -mabi=32
+GCC_CFLAGS += -msoft-float -mabi=32
 BASE_LIBS += $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
 
@@ -34,2 +34,7 @@
 BFD_ARCH = mips
 BFD_NAME = elf32-tradbigmips
+
+ifeq ($(MACHINE),bmalta)
+	GCC_CFLAGS += -march=4kc
+endif
+
