summaryrefslogtreecommitdiff
path: root/gnu/usr.bin
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2013-05-08 15:30:39 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2013-05-08 15:30:39 +0000
commitf1c6d263359139a788d0a40df475119dbab313a8 (patch)
treeed232616cabac4bcee27cec8c394944f174ac521 /gnu/usr.bin
parent3a13dafeff16e2af059d65844fa8367bb061d5e8 (diff)
A port of the current gcc 3.3.6 m88k backend to gcc 4.2.1.
Main features: - md constraints rewritten in RTL - md predicaties rewritten in RTL - md va_arg switched to gimple - abort() calls replaced with gcc_assert() or gcc_unreachable() for better diagnostics - support for non-ELF systems completely removed Missing: - conversion of the pipeline information from define_function_unit to define_automata not done yet (thus pipeline information currently removed) Known regressions against 3.3.6 so far: - no stack protector support yet - __builtin_setjmp doesn't restore the frame pointer correctly upon return from __builtin_longjmp - at least one case of optimization error when delay slots are not disabled. - libgcc is only built -fPIC, instead of static/fpic/fPIC.
Diffstat (limited to 'gnu/usr.bin')
-rw-r--r--gnu/usr.bin/cc/Makefile.tgt4
-rw-r--r--gnu/usr.bin/cc/cc_tools/Makefile4
-rw-r--r--gnu/usr.bin/cc/libgcc/Makefile9
3 files changed, 11 insertions, 6 deletions
diff --git a/gnu/usr.bin/cc/Makefile.tgt b/gnu/usr.bin/cc/Makefile.tgt
index 8d76fa37948..df248fbe6ea 100644
--- a/gnu/usr.bin/cc/Makefile.tgt
+++ b/gnu/usr.bin/cc/Makefile.tgt
@@ -1,5 +1,5 @@
# $FreeBSD: src/gnu/usr.bin/cc/Makefile.tgt,v 1.11.8.1 2009/04/15 03:14:26 kensmith Exp $
-# $OpenBSD: Makefile.tgt,v 1.10 2011/08/04 14:46:58 kettenis Exp $
+# $OpenBSD: Makefile.tgt,v 1.11 2013/05/08 15:30:38 miod Exp $
TARGET_ARCH?= ${MACHINE_ARCH}
@@ -17,6 +17,8 @@ TARGET_CPU_DEFAULT= MASK_PA_11
.elif ${TARGET_ARCH} == "hppa64"
GCC_CPU= pa
TARGET_CPU_DEFAULT= MASK_PA_11|MASK_PA_20
+.elif ${TARGET_ARCH} == "m88k"
+GCC_CPU= m88k
.elif ${TARGET_ARCH} == "mips64" || ${TARGET_ARCH} == "mips64el"
GCC_CPU= mips
.elif ${TARGET_ARCH} == "powerpc"
diff --git a/gnu/usr.bin/cc/cc_tools/Makefile b/gnu/usr.bin/cc/cc_tools/Makefile
index 7ca7db44ce6..594ac6a2c36 100644
--- a/gnu/usr.bin/cc/cc_tools/Makefile
+++ b/gnu/usr.bin/cc/cc_tools/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD: src/gnu/usr.bin/cc/cc_tools/Makefile,v 1.88.8.1 2009/04/15 03:14:26 kensmith Exp $
-# $OpenBSD: Makefile,v 1.11 2011/08/04 14:46:58 kettenis Exp $
+# $OpenBSD: Makefile,v 1.12 2013/05/08 15:30:38 miod Exp $
.include <bsd.own.mk>
@@ -83,6 +83,8 @@ TARGET_INC+= ${GCC_CPU}/openbsd64.h
TARGET_INC+= ${GCC_CPU}/openbsd64.h
.elif ${TARGET_ARCH} == "i386"
TARGET_INC+= ${GCC_CPU}/openbsdelf.h
+.elif ${TARGET_ARCH} == "m88k"
+TARGET_INC+= ${GCC_CPU}/openbsdelf.h
.else
TARGET_INC+= ${GCC_CPU}/openbsd.h
.endif
diff --git a/gnu/usr.bin/cc/libgcc/Makefile b/gnu/usr.bin/cc/libgcc/Makefile
index e6a42f2bdd8..5f8fb98d3da 100644
--- a/gnu/usr.bin/cc/libgcc/Makefile
+++ b/gnu/usr.bin/cc/libgcc/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD: src/gnu/lib/libgcc/Makefile,v 1.58.8.1 2009/04/15 03:14:26 kensmith Exp $
-# $OpenBSD: Makefile,v 1.24 2012/05/04 17:50:41 kettenis Exp $
+# $OpenBSD: Makefile,v 1.25 2013/05/08 15:30:38 miod Exp $
.include <bsd.own.mk>
@@ -219,9 +219,10 @@ OBJ_GRPS = STD DIV SI DI
#
# Floating point emulation functions
#
-.if ${TARGET_ARCH} == "armNOT_YET" || ${TARGET_ARCH} == "mips64" || \
- ${TARGET_ARCH} == "mips64el" || ${TARGET_ARCH} == "powerpc" || \
- ${TARGET_ARCH} == "sparc" || ${TARGET_ARCH} == "sparc64"
+.if ${TARGET_ARCH} == "armNOT_YET" || ${TARGET_ARCH} == "m88k" || \
+ ${TARGET_ARCH} == "mips64" || ${TARGET_ARCH} == "mips64el" || \
+ ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "sparc" || \
+ ${TARGET_ARCH} == "sparc64"
FPBIT_CFLAGS = -DFINE_GRAINED_LIBRARIES -DFLOAT
DPBIT_CFLAGS = -DFINE_GRAINED_LIBRARIES