OSDN Git Service

Initial revision
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 9 May 1993 03:17:50 +0000 (03:17 +0000)
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 9 May 1993 03:17:50 +0000 (03:17 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4391 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/m88k/tekXD88.h [new file with mode: 0644]
gcc/config/m88k/tekXD88.ld [new file with mode: 0644]
gcc/config/m88k/x-tekXD88 [new file with mode: 0644]

diff --git a/gcc/config/m88k/tekXD88.h b/gcc/config/m88k/tekXD88.h
new file mode 100644 (file)
index 0000000..3fc05ec
--- /dev/null
@@ -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 (file)
index 0000000..8a00a17
--- /dev/null
@@ -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 (file)
index 0000000..f727a4a
--- /dev/null
@@ -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