summaryrefslogtreecommitdiff
path: root/sysdeps/mips/Makefile
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2015-12-07 23:07:17 +0100
committerAurelien Jarno <aurelien@aurel32.net>2015-12-09 19:03:46 +0100
commit578d080544d77daad68dd697e77f2dcff50c6c7b (patch)
tree9c44c2fd43f54bef3bd450f44028b5b344f98382 /sysdeps/mips/Makefile
parent3b51c390f76744ccb76a07869c543db4f68484bd (diff)
downloadglibc-578d080544d77daad68dd697e77f2dcff50c6c7b.tar.gz
mips: fix testsuite build for O32 FPXX ABI on pre-R2 CPU
On MIPS when the toolchain is using the O32 FPXX ABI, the testsuite fails to build for pre-R2 CPU. It assumes that it is possible to use the -mfp64 option to build tst-abi-fp64amod and tst-abi-fp64mod, while this requires a CPU which supports the mfhc1 and mthc1 instructions, ie at least a R2 CPU: error: '-mgp32' and '-mfp64' can only be combined if the target supports the mfhc1 and mthc1 instructions The same way it assumes that it is possible to use the -modd-spreg option to build tst-abi-fpxxomod and tst-abi-fp64mod, while this requires at least a R1 CPU: warning: the 'mips2' architecture does not support odd single-precision registers This patches changes that by checking the usability of -mfp64 and -modd-spreg options in configure, and disable those tests when they can not be used.
Diffstat (limited to 'sysdeps/mips/Makefile')
-rw-r--r--sysdeps/mips/Makefile6
1 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/mips/Makefile b/sysdeps/mips/Makefile
index 463b121758..3d3552322b 100644
--- a/sysdeps/mips/Makefile
+++ b/sysdeps/mips/Makefile
@@ -42,17 +42,23 @@ fpabi-modules-names += tst-abi-fpxxmod
CFLAGS-tst-abi-fpxxmod.c += -mfpxx -mno-odd-spreg
endif
ifneq (,$(filter $(o32-fpabi),xx xxo))
+ifeq ($(has-modd-spreg),yes)
fpabi-modules-names += tst-abi-fpxxomod
CFLAGS-tst-abi-fpxxomod.c += -mfpxx -modd-spreg
endif
+endif
ifneq (,$(filter $(o32-fpabi),xx 64a))
+ifeq ($(has-mpf64),yes)
fpabi-modules-names += tst-abi-fp64amod
CFLAGS-tst-abi-fp64amod.c += -mfp64 -mno-odd-spreg
endif
+endif
ifneq (,$(filter $(o32-fpabi),xx xxo 64a 64))
+ifeq ($(has-mpf64)-$(has-modd-spreg),yes-yes)
fpabi-modules-names += tst-abi-fp64mod
CFLAGS-tst-abi-fp64mod.c += -mfp64 -modd-spreg
endif
+endif
modules-names += $(fpabi-modules-names)
comma:=,