aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1993-05-09 03:17:50 +0000
committerDoug Evans <dje@gnu.org>1993-05-09 03:17:50 +0000
commit8bd33fc3d8aa05f42d1cadda773fa37c6b4d256c (patch)
treed5280bdd49ff609c6cfb50e8ac769a706b2b57f5 /gcc
parent5a9771f104f5fc8e9359122b7709dd4bc4e6e2a0 (diff)
downloadgcc-8bd33fc3d8aa05f42d1cadda773fa37c6b4d256c.zip
gcc-8bd33fc3d8aa05f42d1cadda773fa37c6b4d256c.tar.gz
gcc-8bd33fc3d8aa05f42d1cadda773fa37c6b4d256c.tar.bz2
Initial revision
From-SVN: r4391
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/m88k/tekXD88.h49
-rw-r--r--gcc/config/m88k/tekXD88.ld38
-rw-r--r--gcc/config/m88k/x-tekXD888
3 files changed, 95 insertions, 0 deletions
diff --git a/gcc/config/m88k/tekXD88.h b/gcc/config/m88k/tekXD88.h
new file mode 100644
index 0000000..3fc05ec
--- /dev/null
+++ b/gcc/config/m88k/tekXD88.h
@@ -0,0 +1,49 @@
+/* Tektronix XD88 UTekV 3.2e (svr3 derived from UniSoft System V/88)
+
+ Copyright (C) 1993 Free Software Foundation, Inc.
+ Contributed by Kaveh R. Ghazi (ghazi@caip.rutgers.edu) 2/22/93.
+
+ This file is part of GNU CC.
+
+ GNU CC is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ GNU CC is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU CC; see the file COPYING. If not, write to
+ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "m88k/sysv3.h"
+
+/* Don't output structure tag names when it causes a forward reference.
+ Symptom:
+ Error messages like
+ as: "/usr/tmp/cca22733.s": cannot reduce symbol table, unused symbols remain
+ when compiling some programs.
+ example program (C++): struct bad { bad(); }; bad::bad() {}
+
+ This problem seems to have gone away, perhaps with release 3.6 of the O/S
+ from Dolphin. */
+/* #undef SDB_ALLOW_FORWARD_REFERENCES */
+/* I don't know if this SDB thing is needed or not --KRG */
+
+
+/* Use T_ARG as T_VOID. T_VOID is not defined in <syms.h> as it should be. */
+#define T_VOID T_ARG
+
+
+/* The bundled ld program needs link editor directives which normally
+ reside in /lib/default.ld. We'll pass our own copy during the link
+ phase because additioal information about extra sections must be added
+ so that gcc generated files will link properly.
+ --KRG.
+ */
+#undef LINK_SPEC
+#define LINK_SPEC "gcc.ld%s"
diff --git a/gcc/config/m88k/tekXD88.ld b/gcc/config/m88k/tekXD88.ld
new file mode 100644
index 0000000..8a00a17
--- /dev/null
+++ b/gcc/config/m88k/tekXD88.ld
@@ -0,0 +1,38 @@
+/* gcc.ld - COFF linker directives for the Tektronix XD88.
+
+ This file is part of GNU CC.
+
+ GNU CC is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ GNU CC is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU CC; see the file COPYING. If not, write to
+ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+
+ This file does the following:
+ - Sets VIRTUAL addr of .text to 0x10200
+ Sets FILE addr of .text to 0x200 (BLOCK directive)
+ - Depending on size of .text section rounds up to next
+ 4 MG boundary, adds (size of .text and vaddr of .text) mod 64K
+ This is to handle sections larger than 4 MG.
+*/
+
+SECTIONS {
+ .text 0x10200 BLOCK (0x200):
+ { *(.init) *(.text) *(.rodata) *(.tdesc) *(.fini)}
+
+ GROUP BIND( ((SIZEOF(.text) / 0x400000 * 0x400000) + 0x400000) +
+ ((SIZEOF(.text) + ADDR(.text)) % 0x10000) ) :
+ {
+ .data : { }
+ .bss : { }
+ }
+}
diff --git a/gcc/config/m88k/x-tekXD88 b/gcc/config/m88k/x-tekXD88
new file mode 100644
index 0000000..f727a4a
--- /dev/null
+++ b/gcc/config/m88k/x-tekXD88
@@ -0,0 +1,8 @@
+# Install the custom Tektronix XD88 link editor directives file.
+EXTRA_PARTS=crtbegin.o crtend.o gcc.ld
+
+gcc.ld: $(srcdir)/config/m88k/tekXD88.ld
+ rm -f gcc.ld; cp $(srcdir)/config/m88k/tekXD88.ld ./gcc.ld
+
+# Green Hills C on the Tektronix XD88 does not provide alloca.
+ALLOCA=alloca.o