From 8da70fdc4275593fe998d542f5d00e883525818b Mon Sep 17 00:00:00 2001 From: Juli Mallett Date: Wed, 2 Jun 2010 21:15:00 +0000 Subject: [PATCH] Fix build for O32 systems without a TARGET_CPUTYPE defined. We must default to MIPS-III because FreeBSD relies on a number of MIPS-III features; the ABI default would be MIPS-I which we don't intend to support. Our old default before I switched to using the ABI default was MIPS32. --- gnu/usr.bin/cc/Makefile.inc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/usr.bin/cc/Makefile.inc b/gnu/usr.bin/cc/Makefile.inc index 3f03d2683623..994d97937083 100644 --- a/gnu/usr.bin/cc/Makefile.inc +++ b/gnu/usr.bin/cc/Makefile.inc @@ -49,6 +49,14 @@ MIPS_ABI_DEFAULT=ABI_64 MIPS_ABI_DEFAULT?=ABI_32 CFLAGS += -DMIPS_ABI_DEFAULT=${MIPS_ABI_DEFAULT} +# If we are compiling for the O32 ABI, we need to default to MIPS-III rather +# than taking the ISA from the ABI requirements, since FreeBSD is built with +# a number of MIPS-III features/instructions and that is the minimum ISA we +# support, not the O32 default MIPS-I. +.if ${MIPS_ABI_DEFAULT} == "ABI_32" +TARGET_CPUTYPE?=mips3 +.endif + # GCC by default takes the ISA from the ABI's requirements. If world is built # with a superior ISA, since we lack multilib, we have to set the right # default ISA to be able to link against what's in /usr/lib. Terrible stuff.