summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/cc
diff options
context:
space:
mode:
authorjmallett <jmallett@FreeBSD.org>2010-06-02 21:15:00 +0000
committerjmallett <jmallett@FreeBSD.org>2010-06-02 21:15:00 +0000
commit4fa69f6443d5a0aeea2221fa7e4796fa453cc133 (patch)
treeb1c171831795265f835bce3c9b453dd236835e71 /gnu/usr.bin/cc
parente5f96a4e051e13725fc9c904fa4b2d2214e48eb7 (diff)
downloadFreeBSD-src-4fa69f6443d5a0aeea2221fa7e4796fa453cc133.zip
FreeBSD-src-4fa69f6443d5a0aeea2221fa7e4796fa453cc133.tar.gz
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.
Diffstat (limited to 'gnu/usr.bin/cc')
-rw-r--r--gnu/usr.bin/cc/Makefile.inc8
1 files changed, 8 insertions, 0 deletions
diff --git a/gnu/usr.bin/cc/Makefile.inc b/gnu/usr.bin/cc/Makefile.inc
index 3f03d26..994d979 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.
OpenPOWER on IntegriCloud