Initial revision

From-SVN: r90
This commit is contained in:
Richard Stallman 1991-12-01 05:07:43 +00:00
parent 94160706d8
commit d80ffa4333
5 changed files with 283 additions and 0 deletions

5
gcc/config/i860/bsd.h Normal file
View file

@ -0,0 +1,5 @@
#include "i860.h"
/* BSD UN*X systems use BSD STABS debugging info. */
#define DBX_DEBUGGING_INFO

103
gcc/config/m68k/tower.h Normal file
View file

@ -0,0 +1,103 @@
/* Definitions of target machine for GNU compiler.
Copyright (C) 1990 Free Software Foundation, Inc.
Written by Robert Andersson, International Systems, Oslo, Norway.
Please send bug reports, questions and improvements to ra@intsys.no.
For NCR Tower 32/4x0 and 32/6x0 running System V Release 3.
I don't have access to 200/700/800/850 machines, so I don't know if it
works on those as well. It shouldn't be far from it however.
The hardware floating point support is completely untested, as I do
not have access to a machine with a 6888x FPU in it.
It does not work on the System V Release 2 based OS releases. Making it
work will not be easy, due to the silly way in which stack expansion is
implemented in the OS.
This file is included in tower-as.h.
Do *NOT* include this file directly.
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 "m68k.h"
/* See m68k.h. 5 means 68020 with no 68881. */
#define TARGET_DEFAULT 5
/* Names to predefine in the preprocessor for this target machine. */
#define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_200"
#if 0 /* It is incorrect to test these symbols.
They describe the host, not the target.
It should not matter which model is specified. */
#ifdef tower32_600
#define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_600"
#endif
#ifdef tower32_700
#define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_700"
#endif
#ifdef tower32_800
#define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_800"
#endif
#ifdef tower32_850
#define CPP_PREDEFINES "-Dunix -Dtower32 -Dtower32_850"
#endif
#endif
/* The startfiles and libraries depend on the -p and -m68881 options.
The Tower does not support the -pg option. */
#define LINK_SPEC \
"%{p:%{m68881:-L/usr/lib/fp/libp} -L/usr/lib/libp} \
%{m68881:-L/usr/lib/fp}"
#define LIB_SPEC "-lc %{m68881:/usr/lib/fp/crtn.o}%{!m68881:/lib/crtn.o}"
/* Use mem* functions, recognize #ident lines. */
#define TARGET_MEM_FUNCTIONS
#define IDENT_DIRECTIVE
/* This is only used in g++, don't prepend underscore. */
#define NO_UNDERSCORES
/* Every structure and union's size must be a multiple of two bytes. */
#define STRUCTURE_SIZE_BOUNDARY 16
/* All register names should have a leading % character. */
#undef REGISTER_NAMES
#define REGISTER_NAMES \
{"%d0", "%d1", "%d2", "%d3", "%d4", "%d5", "%d6", "%d7", \
"%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%a6", "%sp", \
"%fp0", "%fp1", "%fp2", "%fp3", "%fp4", "%fp5", "%fp6", "%fp7", \
"%fpa0", "%fpa1", "%fpa2", "%fpa3", "%fpa4", "%fpa5", "%fpa6", "%fpa7", \
"%fpa8", "%fpa9", "%fpa10", "%fpa11", "%fpa12", "%fpa13", "%fpa14", "%fpa15",\
"%fpa16","%fpa17", "%fpa18", "%fpa19", "%fpa20", "%fpa21", "%fpa22","%fpa23",\
"%fpa24","%fpa25", "%fpa26", "%fpa27", "%fpa28", "%fpa29", "%fpa30","%fpa31"}
/* We do not want leading underscores. */
#undef ASM_OUTPUT_LABELREF
#define ASM_OUTPUT_LABELREF(FILE,NAME) \
fprintf (FILE, "%s", NAME)

46
gcc/config/m88k/luna.h Normal file
View file

@ -0,0 +1,46 @@
/* Definitions of target machine for GNU compiler.
Motorola m88100 running Omron Luna/88k.
Copyright (C) 1991 Free Software Foundation, Inc.
Contributed by Jeffery Friedl (jfriedl@omron.co.jp)
Currently supported by Tom Wood (wood@dg-rtp.dg.com)
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. */
/* The Omron Luna/88k is MACH and uses BSD a.out, not COFF or ELF. */
#ifndef MACH
#define MACH
#endif
#define DBX_DEBUGGING_INFO
#include "m88k.h"
/* Identify the compiler. */
#undef VERSION_INFO1
#define VERSION_INFO1 "Omron Luna/88k, "
/* Macros to be automatically defined. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-DMACH -Dmc88100 -Dm88k -Dunix -Dluna -Dluna88k -D__CLASSIFY_TYPE__=2"
/* Specify extra dir to search for include files. */
#undef SYSTEM_INCLUDE_DIR
#define SYSTEM_INCLUDE_DIR "/usr/mach/include"
/* For the Omron Luna/88k, a float function returns a double in traditional
mode (and a float in ansi mode). */
#undef TRADITIONAL_RETURN_FLOAT

114
gcc/config/ns32k/sequent.h Normal file
View file

@ -0,0 +1,114 @@
/* Definitions of target machine for GNU compiler. SEQUENT NS32000 version.
Copyright (C) 1987 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@mcc.com)
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. */
/* Two flags to control how addresses are printed in assembler insns. */
#define SEQUENT_ADDRESS_BUG 1
#define SEQUENT_BASE_REGS
#include "ns32k.h"
/* This is BSD, so it wants DBX format. */
#define DBX_DEBUGGING_INFO
/* Sequent has some changes in the format of DBX symbols. */
#define DBX_NO_XREFS 1
/* Don't split DBX symbols into continuations. */
#define DBX_CONTIN_LENGTH 0
#define TARGET_DEFAULT 9 /* 32332 with 32081 (guessing) */
/* Print subsidiary information on the compiler version in use. */
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (32000, Sequent syntax)");
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dns32000 -Dsequent -Dunix"
/* Link with libg.a when debugging, for dbx's sake. */
#define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} "
/* This is how to align the code that follows an unconditional branch.
Don't define it, since it confuses the assembler (we hear). */
#undef ASM_OUTPUT_ALIGN_CODE
/* Assember pseudo-op for shared data segment. */
#define SHARED_SECTION_ASM_OP ".shdata"
/* Control how stack adjust insns are output. */
#define SEQUENT_ADJUST_STACK
/* %$ means print the prefix for an immediate operand.
On the sequent, no prefix is used for such. */
#undef PRINT_OPERAND
#define PRINT_OPERAND(FILE, X, CODE) \
{ if (CODE == '$') ; \
else if (CODE == '?'); \
else if (GET_CODE (X) == REG) \
fprintf (FILE, "%s", reg_names[REGNO (X)]); \
else if (GET_CODE (X) == MEM) \
{ \
rtx xfoo; \
xfoo = XEXP (X, 0); \
switch (GET_CODE (xfoo)) \
{ \
case MEM: \
if (GET_CODE (XEXP (xfoo, 0)) == REG) \
if (REGNO (XEXP (xfoo, 0)) == STACK_POINTER_REGNUM) \
fprintf (FILE, "0(0(sp))"); \
else fprintf (FILE, "0(0(%s))", \
reg_names[REGNO (XEXP (xfoo, 0))]); \
else \
{ \
fprintf (FILE, "0("); \
output_address (xfoo); \
putc (')', FILE); \
} \
break; \
case REG: \
fprintf (FILE, "0(%s)", reg_names[REGNO (xfoo)]); \
break; \
case PRE_DEC: \
case POST_INC: \
fprintf (FILE, "tos"); \
break; \
case CONST_INT: \
fprintf (FILE, "@%d", INTVAL (xfoo)); \
break; \
default: \
output_address (xfoo); \
break; \
} \
} \
else if (GET_CODE (X) == CONST_DOUBLE && GET_MODE (X) != DImode) \
if (GET_MODE (X) == DFmode) \
{ union { double d; int i[2]; } u; \
u.i[0] = CONST_DOUBLE_LOW (X); u.i[1] = CONST_DOUBLE_HIGH (X); \
fprintf (FILE, "0d%.20e", u.d); } \
else { union { double d; int i[2]; } u; \
u.i[0] = CONST_DOUBLE_LOW (X); u.i[1] = CONST_DOUBLE_HIGH (X); \
fprintf (FILE, "0f%.20e", u.d); } \
else output_addr_const (FILE, X); }
#undef PRINT_OPERAND_ADDRESS
#define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address(FILE, ADDR)

15
gcc/config/sparc/sun4o3.h Normal file
View file

@ -0,0 +1,15 @@
#include "sparc.h"
/* Define the Sun-asm flag, which is necessary for Sun 4 with os version 3. */
#undef TARGET_DEFAULT
#define TARGET_DEFAULT 7
#undef FUNCTION_PROFILER
#define FUNCTION_PROFILER(FILE, LABELNO) \
fprintf (FILE, "\tsethi %%hi(LP%d),%%o0\n\tcall .mcount\n\tor %%lo(LP%d),%%o0,%%o0\n", \
(LABELNO), (LABELNO))
/* LINK_SPEC is needed only for Sunos 4. */
#undef LINK_SPEC