diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2013-05-08 15:30:39 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2013-05-08 15:30:39 +0000 |
commit | f1c6d263359139a788d0a40df475119dbab313a8 (patch) | |
tree | ed232616cabac4bcee27cec8c394944f174ac521 /gnu/usr.bin | |
parent | 3a13dafeff16e2af059d65844fa8367bb061d5e8 (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.tgt | 4 | ||||
-rw-r--r-- | gnu/usr.bin/cc/cc_tools/Makefile | 4 | ||||
-rw-r--r-- | gnu/usr.bin/cc/libgcc/Makefile | 9 |
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 |