summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/gcc
diff options
context:
space:
mode:
authorSteve Murphree <smurph@cvs.openbsd.org>1999-02-09 03:32:46 +0000
committerSteve Murphree <smurph@cvs.openbsd.org>1999-02-09 03:32:46 +0000
commit3d04c3892f5974aa845566bb6d3544cd56116ee2 (patch)
tree2f8f69b160709b7d8178fb8d41fb93816c5f89af /gnu/usr.bin/gcc
parentee3bd85f36b99a0a43135889cf1d49e01ea21ab1 (diff)
Adding support for Motorola mvme88k
Diffstat (limited to 'gnu/usr.bin/gcc')
-rw-r--r--gnu/usr.bin/gcc/config/m88k/openbsd.h72
-rw-r--r--gnu/usr.bin/gcc/config/m88k/t-openbsd13
-rw-r--r--gnu/usr.bin/gcc/config/m88k/xm-openbsd.h4
-rw-r--r--gnu/usr.bin/gcc/configure7
4 files changed, 96 insertions, 0 deletions
diff --git a/gnu/usr.bin/gcc/config/m88k/openbsd.h b/gnu/usr.bin/gcc/config/m88k/openbsd.h
new file mode 100644
index 00000000000..dd07d64da75
--- /dev/null
+++ b/gnu/usr.bin/gcc/config/m88k/openbsd.h
@@ -0,0 +1,72 @@
+/* BSD a.out, not COFF or ELF. */
+
+#define DBX_DEBUGGING_INFO
+#define DEFAULT_GDB_EXTENSIONS 0
+
+#include "aoutos.h"
+#include "m88k/m88k.h"
+#include <openbsd.h>
+
+/* Identify the compiler. */
+#undef VERSION_INFO1
+#define VERSION_INFO1 "Motorola m88k, "
+
+/* Macros to be automatically defined. */
+#undef CPP_PREDEFINES
+#define CPP_PREDEFINES \
+ "-Dunix -D__OpenBSD__ -D__CLASSIFY_TYPE__=2 -Asystem(unix) -Asystem(OpenBSD) -Acpu(m88k) -Amachine(m88k)"
+
+/* If -m88000 is in effect, add -Dmc88000; similarly for -m88100 and -m88110.
+ However, reproduce the effect of -Dmc88100 previously in CPP_PREDEFINES.
+ Here, the CPU_DEFAULT is assumed to be -m88100. */
+#undef CPP_SPEC
+#define CPP_SPEC "%{m88000:-D__mc88000__} \
+ %{!m88000:%{m88100:%{m88110:-D__mc88000__}}} \
+ %{!m88000:%{!m88100:%{m88110:-D__mc88110__}}} \
+ %{!m88000:%{!m88110:%{!ansi:%{traditional:-Dmc88100}} \
+ -D__mc88100__ -D__mc88100}} %{posix:-D_POSIX_SOURCE}"
+
+/* For the 88k, a float function returns a double in traditional
+ mode (and a float in ansi mode). */
+#undef TRADITIONAL_RETURN_FLOAT
+
+/* Make gcc agree with <machine/ansi.h> */
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "int"
+
+#undef WCHAR_UNSIGNED
+#define WCHAR_UNSIGNED 0
+
+#undef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE 32
+
+/* Every structure or union's size must be a multiple of 2 bytes. */
+
+#undef STRUCTURE_SIZE_BOUNDARY
+#define STRUCTURE_SIZE_BOUNDARY 16
+
+/* This is BSD, so it wants DBX format. */
+
+/* This is the char to use for continuation (in case we need to turn
+ continuation back on). */
+
+#define DBX_CONTIN_CHAR '?'
+
+/* Don't use the `xsfoo;' construct in DBX output; this system
+ doesn't support it. */
+
+#define DBX_NO_XREFS
+
+/* Don't default to pcc-struct-return, because gcc is the only compiler, and
+ we want to retain compatibility with older gcc versions. */
+#define DEFAULT_PCC_STRUCT_RETURN 0
+
+#undef SET_ASM_OP
+#define SET_ASM_OP ".def"
+
diff --git a/gnu/usr.bin/gcc/config/m88k/t-openbsd b/gnu/usr.bin/gcc/config/m88k/t-openbsd
new file mode 100644
index 00000000000..c35ad60e539
--- /dev/null
+++ b/gnu/usr.bin/gcc/config/m88k/t-openbsd
@@ -0,0 +1,13 @@
+# Specify how to create the *.asm files
+
+MOVE_ASM = moveHI15x.asm moveQI16x.asm moveSI46x.asm moveSI64n.asm \
+ moveHI48x.asm moveSI45x.asm moveSI47x.asm moveSI96x.asm \
+ moveDI96x.asm
+
+$(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh
+ $(srcdir)/config/m88k/m88k-move.sh -no-tdesc
+
+LIB2FUNCS_EXTRA = $(MOVE_ASM)
+LIBGCC1 = libgcc1.null
+CROSS_LIBGCC1 = libgcc1.null
+T_CPPFLAGS = -DUSE_GAS
diff --git a/gnu/usr.bin/gcc/config/m88k/xm-openbsd.h b/gnu/usr.bin/gcc/config/m88k/xm-openbsd.h
new file mode 100644
index 00000000000..fbd8b39f95f
--- /dev/null
+++ b/gnu/usr.bin/gcc/config/m88k/xm-openbsd.h
@@ -0,0 +1,4 @@
+/* Configuration for GCC for Motorola 88k running OpenBSD as host. */
+
+#include <m88k/xm-m88k.h>
+#include <xm-openbsd.h>
diff --git a/gnu/usr.bin/gcc/configure b/gnu/usr.bin/gcc/configure
index 22a22f09e59..74956d4ea48 100644
--- a/gnu/usr.bin/gcc/configure
+++ b/gnu/usr.bin/gcc/configure
@@ -4106,6 +4106,13 @@ for machine in $build $host $target; do
tmake_file=m88k/t-luna
fi
;;
+ m88k-*-openbsd*)
+ tm_file=m88k/openbsd.h
+ # On OpenBSD, the headers are already okay.
+ fixincludes=Makefile.in
+ tmake_file=m88k/t-openbsd
+ xmake_file=x-openbsd
+ ;;
m88k-*-sysv3*)
tm_file=m88k/sysv3.h
extra_parts="crtbegin.o crtend.o"