diff -Nur uClibc-0.9.33.2.orig/test/math/Makefile.in uClibc-0.9.33.2/test/math/Makefile.in
--- uClibc-0.9.33.2.orig/test/math/Makefile.in	2012-05-15 09:20:09.000000000 +0200
+++ uClibc-0.9.33.2/test/math/Makefile.in	2014-08-07 16:12:20.137047118 +0200
@@ -1,11 +1,13 @@
 # uClibc math tests
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 
-TESTS := basic-test tst-definitions test-fpucw test-float test-ifloat test-double test-idouble \
+TESTS_DISABLED := libm-test
+
+TESTS := basic-test tst-definitions test-fpucw \
     rint signgam ilogb
 # gamma (removed from TESTS, need to add "small errors are ok" machinery there)
 ifeq ($(UCLIBC_HAS_LONG_DOUBLE_MATH),y)
-TESTS += test-ldouble test-ildoubl compile_test c99_test
+TESTS += compile_test c99_test
 else
 CFLAGS_basic-test := -DNO_LONG_DOUBLE
 endif
@@ -23,9 +25,19 @@
 
 PERL := /usr/bin/perl
 
+MDEPS := $(wildcard test-*.c)
+$(MDEPS): libm-test.c
+
+ifeq ($(TARGET_ARCH),mips)
+ULP_SUFFIX:=$(if $(CONFIG_MIPS_ISA_MIPS64R1)$(CONFIG_MIPS_ISA_MIPS64R2),64,32)
+TARGET_ULP:=$(TARGET_ARCH)$(ULP_SUFFIX)
+else
+TARGET_ULP := $(if $(wildcard libm-test-ulps-$(TARGET_ARCH)),$(TARGET_ARCH),generic)
+endif
+
 $(TESTS): libm-test.c
 
-libm-test.c: libm-test-ulps-$(TARGET_ARCH) libm-test.inc gen-libm-test.pl
-	$(Q)$(PERL) ./gen-libm-test.pl -u libm-test-ulps-$(TARGET_ARCH) ./libm-test.inc -o "." 2>&1 > /dev/null
+libm-test.c: libm-test-ulps-$(TARGET_ULP) libm-test.inc gen-libm-test.pl
+	$(Q)$(PERL) ./gen-libm-test.pl -u libm-test-ulps-$(TARGET_ULP) ./libm-test.inc -o "." 2>&1 > /dev/null
 
 EXTRA_CLEAN := libm-test.c libm-test-ulps.h
