From: Doug Evans Date: Sun, 9 May 1993 03:17:50 +0000 (+0000) Subject: Initial revision X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8bd33fc3d8aa05f42d1cadda773fa37c6b4d256c;p=gcc.git Initial revision From-SVN: r4391 --- diff --git a/gcc/config/m88k/tekXD88.h b/gcc/config/m88k/tekXD88.h new file mode 100644 index 00000000000..3fc05ec201d --- /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 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 00000000000..8a00a175ea1 --- /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 00000000000..f727a4add1f --- /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