Initial revision
authorDoug Evans <dje@gnu.org>
Sat, 18 Feb 1995 17:35:43 +0000 (17:35 +0000)
committerDoug Evans <dje@gnu.org>
Sat, 18 Feb 1995 17:35:43 +0000 (17:35 +0000)
From-SVN: r8966

gcc/config/i386/xm-lynx.h [new file with mode: 0644]
gcc/config/m68k/t-lynx [new file with mode: 0644]
gcc/config/m68k/xm-lynx.h [new file with mode: 0644]
gcc/config/rs6000/lynx.h [new file with mode: 0644]
gcc/config/rs6000/x-lynx [new file with mode: 0644]
gcc/config/rs6000/xm-lynx.h [new file with mode: 0644]
gcc/config/sparc/xm-lynx.h [new file with mode: 0644]

diff --git a/gcc/config/i386/xm-lynx.h b/gcc/config/i386/xm-lynx.h
new file mode 100644 (file)
index 0000000..712de22
--- /dev/null
@@ -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 (file)
index 0000000..6f2caba
--- /dev/null
@@ -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 (file)
index 0000000..d327922
--- /dev/null
@@ -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 (file)
index 0000000..0e57d22
--- /dev/null
@@ -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 (file)
index 0000000..a1a2a73
--- /dev/null
@@ -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 (file)
index 0000000..f9d96b5
--- /dev/null
@@ -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 (file)
index 0000000..3bfd167
--- /dev/null
@@ -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 <sys/wait.h> to define the exit status access macros.  */
+#include <sys/types.h>
+#include <sys/wait.h>
+
+/* target machine dependencies.
+   tm.h is a symbolic link to the actual target specific file.   */
+
+#include "tm.h"