From: Doug Evans Date: Sat, 18 Feb 1995 17:35:43 +0000 (+0000) Subject: Initial revision X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ac57a94327d592de8b57b7c1e443927932b3ffb9;p=gcc.git Initial revision From-SVN: r8966 --- diff --git a/gcc/config/i386/xm-lynx.h b/gcc/config/i386/xm-lynx.h new file mode 100644 index 00000000000..712de226a28 --- /dev/null +++ b/gcc/config/i386/xm-lynx.h @@ -0,0 +1,32 @@ +/* Configuration for GNU C-compiler for i386 platforms running LynxOS. + Copyright (C) 1995 Free Software Foundation, Inc. + +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 "xm-lynx.h" + +/* This describes the machine the compiler is hosted on. */ +#define HOST_BITS_PER_CHAR 8 +#define HOST_BITS_PER_SHORT 16 +#define HOST_BITS_PER_INT 32 +#define HOST_BITS_PER_LONG 32 +#define HOST_BITS_PER_LONGLONG 64 + +/* target machine dependencies. + tm.h is a symbolic link to the actual target specific file. */ + +#include "tm.h" diff --git a/gcc/config/m68k/t-lynx b/gcc/config/m68k/t-lynx new file mode 100644 index 00000000000..6f2cabaaed5 --- /dev/null +++ b/gcc/config/m68k/t-lynx @@ -0,0 +1,6 @@ +CROSS_LIBGCC1 = libgcc1-asm.a +LIB1ASMSRC = m68k/lb1sf68.asm +LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \ + _double _float _floatex \ + _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \ + _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2 diff --git a/gcc/config/m68k/xm-lynx.h b/gcc/config/m68k/xm-lynx.h new file mode 100644 index 00000000000..d327922d15a --- /dev/null +++ b/gcc/config/m68k/xm-lynx.h @@ -0,0 +1,34 @@ +/* Configuration for GNU C-compiler for all platforms running LynxOS. + Copyright (C) 1993 Free Software Foundation, Inc. + +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 "xm-lynx.h" + +/* This describes the machine the compiler is hosted on. */ +#define HOST_BITS_PER_CHAR 8 +#define HOST_BITS_PER_SHORT 16 +#define HOST_BITS_PER_INT 32 +#define HOST_BITS_PER_LONG 32 +#define HOST_BITS_PER_LONGLONG 64 + +#define HOST_WORDS_BIG_ENDIAN 1 + +/* target machine dependencies. + tm.h is a symbolic link to the actual target specific file. */ + +#include "tm.h" diff --git a/gcc/config/rs6000/lynx.h b/gcc/config/rs6000/lynx.h new file mode 100644 index 00000000000..0e57d221b14 --- /dev/null +++ b/gcc/config/rs6000/lynx.h @@ -0,0 +1,102 @@ +/* Definitions for Rs6000 running LynxOS. + Copyright (C) 1995 Free Software Foundation, Inc. + Contributed by David Henkel-Wallace, Cygnus Support (gumby@cygnus.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. */ + +#include "lynx.h" + +/* Definitions we want to override with those from rs6000.h: */ +#undef LIB_SPEC +#undef PTRDIFF_TYPE +#undef WCHAR_TYPE +#undef WCHAR_TYPE_SIZE +#undef ASM_FILE_START +#undef EXTRA_SECTIONS +#undef READONLY_DATA_SECTION +#undef EXTRA_SECTION_FUNCTIONS +#undef SELECT_RTX_SECTION +#undef SELECT_SECTION +#undef ASM_OUTPUT_LABELREF +#undef ASM_OUTPUT_INTERNAL_LABEL +#undef ASM_GENERATE_INTERNAL_LABEL +#undef ASM_OUTPUT_COMMON +#undef ASM_OUTPUT_LOCAL +#undef ASM_OUTPUT_CONSTRUCTOR +#undef ASM_OUTPUT_DESTRUCTOR +#undef CTORS_SECTION_FUNCTION +#undef DTORS_SECTION_FUNCTION + +#undef SDB_DEBUGGING_INFO +#undef DBX_DEBUGGING_INFO +#undef PREFERRED_DEBUGGING_TYPE + +#undef FUNCTION_PROFILER + +#include "rs6000/rs6000.h" + +/* LynxOS has signed chars, regardless of what most R/S 6000 systems do */ +#undef DEFAULT_SIGNED_CHAR +#define DEFAULT_SIGNED_CHAR 1 + +#undef CPP_PREDEFINES +#define CPP_PREDEFINES "-Acpu(rs6000) -Amachine(rs6000) -Asystem(lynx) -Asystem(unix) -DLynx -D_IBMR2 -Dunix -Drs6000 -Dlynx -DLYNX" + +#undef LINK_SPEC +#define LINK_SPEC "-T0x10001000 -H0x1000 -D0x20000000 -btextro -bhalt:4 -bnodelcsect -bnso -bro -bnoglink %{v} %{b*}" + +#undef LIB_SPEC +#define LIB_SPEC "%{mthreads:-L/lib/thread/} \ + %{msystem-v:-lc_v -lm.v} \ + %{!msystem-v:%{mposix:-lc_p} -lc -lm}" + +#undef STARTFILE_SPEC +#define STARTFILE_SPEC "%{p:%{mthreads:thread/pinit.o%s}%{!mthreads:pinit.o%s}}%{!p:%{msystem-v:vinit.o%s -e_start}%{!msystem-v:%{mthreads:thread/init.o%s}%{!mthreads:init.o%s}}}" + +#undef ENDFILE_SPEC + +/* This can become more refined as we have more powerpc options. */ +#undef ASM_SPEC +#define ASM_SPEC "-u %{m601:-m601} %{power*:-m601}" + +#undef SUBTARGET_SWITCHES +#define SUBTARGET_SWITCHES \ + {"threads", MASK_THREADS}, \ + {"posix", MASK_POSIX}, \ + {"system-v", MASK_SYSTEM_V}, + +#undef SUBTARGET_OVERRIDE_OPTIONS +#define SUBTARGET_OVERRIDE_OPTIONS \ +do { \ + if (TARGET_SYSTEM_V && profile_flag) \ + warning ("-msystem-v and -p are incompatible"); \ + if (TARGET_SYSTEM_V && TARGET_THREADS) \ + warning ("-msystem-v and -mthreads are incompatible"); \ +} while (0) + +/* For collect2 */ +#define OBJECT_FORMAT_NONE +#undef OBJECT_FORMAT_COFF +#undef OBJECT_FORMAT_ROSE +#undef MD_EXEC_PREFIX +#undef REAL_LD_FILE_NAME +#undef REAL_NM_FILE_NAME +#undef REAL_STRIP_FILE_NAME + +/* LynxOS doesn't have mcount. */ +#undef FUNCTION_PROFILER +#define FUNCTION_PROFILER(file, profile_label_no) diff --git a/gcc/config/rs6000/x-lynx b/gcc/config/rs6000/x-lynx new file mode 100644 index 00000000000..a1a2a73ed80 --- /dev/null +++ b/gcc/config/rs6000/x-lynx @@ -0,0 +1,14 @@ +# /bin/cc is hopelessly broken, so we must use /bin/gcc instead. +CC = $(OLDCC) +OLDCC = /bin/gcc + +# /bin/sh is too buggy, so use /bin/bash instead. +SHELL = /bin/bash + +# Show we need to use the C version of ALLOCA +ALLOCA=alloca.o + +# configuration for IBM rs6000 running lynx + +# For some reason, we need -lm for cc1. +CLIB=-lm diff --git a/gcc/config/rs6000/xm-lynx.h b/gcc/config/rs6000/xm-lynx.h new file mode 100644 index 00000000000..f9d96b52f23 --- /dev/null +++ b/gcc/config/rs6000/xm-lynx.h @@ -0,0 +1,34 @@ +/* Configuration for GNU C-compiler for rs6000 platforms running LynxOS. + Copyright (C) 1995 Free Software Foundation, Inc. + +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 "xm-lynx." + +/* This describes the machine the compiler is hosted on. */ +#define HOST_BITS_PER_CHAR 8 +#define HOST_BITS_PER_SHORT 16 +#define HOST_BITS_PER_INT 32 +#define HOST_BITS_PER_LONG 32 +#define HOST_BITS_PER_LONGLONG 64 + +#define HOST_WORDS_BIG_ENDIAN 1 + +/* target machine dependencies. + tm.h is a symbolic link to the actual target specific file. */ + +#include "tm.h" diff --git a/gcc/config/sparc/xm-lynx.h b/gcc/config/sparc/xm-lynx.h new file mode 100644 index 00000000000..3bfd16735e0 --- /dev/null +++ b/gcc/config/sparc/xm-lynx.h @@ -0,0 +1,38 @@ +/* Configuration for GNU C-compiler for sparc platforms running LynxOS. + Copyright (C) 1995 Free Software Foundation, Inc. + +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 "xm-lynx.h" + +/* This describes the machine the compiler is hosted on. */ +#define HOST_BITS_PER_CHAR 8 +#define HOST_BITS_PER_SHORT 16 +#define HOST_BITS_PER_INT 32 +#define HOST_BITS_PER_LONG 32 +#define HOST_BITS_PER_LONGLONG 64 + +#define HOST_WORDS_BIG_ENDIAN 1 + +/* Include to define the exit status access macros. */ +#include +#include + +/* target machine dependencies. + tm.h is a symbolic link to the actual target specific file. */ + +#include "tm.h"