* config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
authorcchavva <cchavva@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Feb 2001 22:09:06 +0000 (22:09 +0000)
committercchavva <cchavva@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Feb 2001 22:09:06 +0000 (22:09 +0000)
        powerpc-*-chorusos* .
        * config/rs6000/chorus.h : New file.
        * config/i386/chorus.h : New file.
        * config/sparc/chorus.h : New file.
        * config/sparc/t-chorus-elf : New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39551 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config.gcc
gcc/config/i386/chorus.h [new file with mode: 0644]
gcc/config/rs6000/chorus.h [new file with mode: 0644]
gcc/config/sparc/chorus.h [new file with mode: 0644]
gcc/config/sparc/t-chorus-elf [new file with mode: 0644]

index 30f310a..34d126d 100644 (file)
@@ -1,3 +1,12 @@
+2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
+
+       * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
+       powerpc-*-chorusos* .
+       * config/rs6000/chorus.h : New file.
+       * config/i386/chorus.h : New file.
+       * config/sparc/chorus.h : New file.
+       * config/sparc/t-chorus-elf : New file.
+
 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
 
        * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
@@ -101,7 +110,7 @@ Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
 
-       * final.c: Revert back my previous changes.
+       * final.c: Revert my previous changes.
        * output.h: Make profile_label_no extern.
        * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
        for generating label.
index 1bbbb4e..049d5d4 100644 (file)
@@ -978,6 +978,17 @@ i370-*-linux*)
                thread_file='posix'
        fi
        ;;
+i[34567]86-*-chorusos*)
+       xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h"
+       tm_file="i386/i386.h i386/att.h elfos.h i386/i386afe.h i386/i386elf.h i386/chorus.h"
+       tmake_file=i386/t-i386elf
+       xmake_file=x-svr4
+       case x${enable_threads} in
+         xyes | xpthreads | xposix)
+               thread_file='posix'
+               ;;
+       esac
+       ;;
 i[34567]86-*-elf*)
        xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h"
        tm_file="i386/i386.h i386/att.h elfos.h i386/i386afe.h i386/i386elf.h"
@@ -2750,6 +2761,16 @@ powerpc-*-sysv*)
        tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
        xmake_file=rs6000/x-sysv4
        ;;
+powerpc-*-chorusos*)
+       tm_file="${tm_file} svr4.h rs6000/sysv4.h rs6000/chorus.h"
+       tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
+       extra_headers=ppc-asm.h
+       case x${enable_threads} in
+         xyes | xpthreads | xposix)
+               thread_file='posix'
+               ;;
+       esac
+       ;;
 powerpc-*-eabiaix*)
        tm_file="${tm_file} svr4.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabiaix.h"
        tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
@@ -2990,6 +3011,17 @@ sparc-*-openbsd*)
 sparc-*-bsd*)
        tm_file=sparc/bsd.h
        ;;
+sparc-*-chorusos*)
+       tm_file="sparc/sol2.h sparc/elf.h sparc/chorus.h"
+       tmake_file=sparc/t-chorus-elf
+       extra_parts="crti.o crtn.o crtbegin.o crtend.o"
+       float_format=i64
+       case x${enable_threads} in
+         xyes | xpthreads | xposix)
+               thread_file='posix'
+               ;;
+       esac
+       ;;
 sparc-*-elf*)
        tm_file="sparc/sol2.h sparc/elf.h"
        tmake_file=sparc/t-elf
diff --git a/gcc/config/i386/chorus.h b/gcc/config/i386/chorus.h
new file mode 100644 (file)
index 0000000..a6b4d81
--- /dev/null
@@ -0,0 +1,45 @@
+/* Definitions of target machine for GNU compiler.
+   Sun Chorus OS big-endian
+   Copyright (c) 2001 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, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#undef DWARF2_DEBUGGING_INFO
+#define DWARF2_DEBUGGING_INFO
+
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
+
+#undef TARGET_VERSION
+#define TARGET_VERSION fprintf (stderr, " (IA-32 Sun Chorus OS Embedded)");
+
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
+/* Type used for wchar_t, as a string used in a declaration.  */
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "int"
+
+#undef LINK_SPEC
+#define LINK_SPEC "-r"
+
+#undef LIB_SPEC
+#define LIB_SPEC ""
diff --git a/gcc/config/rs6000/chorus.h b/gcc/config/rs6000/chorus.h
new file mode 100644 (file)
index 0000000..836f024
--- /dev/null
@@ -0,0 +1,44 @@
+/* Definitions of target machine for GNU compiler.
+   Sun Chorus OS big-endian
+   Copyright (C) 2001 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, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#undef DWARF2_DEBUGGING_INFO
+#define DWARF2_DEBUGGING_INFO
+
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
+
+#undef TARGET_VERSION
+#define TARGET_VERSION fprintf (stderr, " (PowerPC Sun Chorus OS Embedded)");
+
+/* Type used for ptrdiff_t, as a string used in a declaration.  */
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
+/* Type used for size_t, as a string used in a declaration.  */
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+/* Type used for wchar_t, as a string used in a declaration.  */
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "int"
+
+#undef LINK_SPEC
+#define LINK_SPEC "-r"
diff --git a/gcc/config/sparc/chorus.h b/gcc/config/sparc/chorus.h
new file mode 100644 (file)
index 0000000..13a2a55
--- /dev/null
@@ -0,0 +1,43 @@
+/* Definitions of target machine for GNU compiler.
+   Sun Chorus OS big-endian
+   Copyright (c) 2001 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, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#undef DWARF2_DEBUGGING_INFO
+#define DWARF2_DEBUGGING_INFO
+
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
+
+#undef TARGET_VERSION
+#define TARGET_VERSION fprintf (stderr, " (Ultrasparc IIi Sun Chorus OS Embedded)");
+
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
+/* Type used for wchar_t, as a string used in a declaration.  */
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "int"
+
+#undef LINK_SPEC
+#define LINK_SPEC "-r"
+
diff --git a/gcc/config/sparc/t-chorus-elf b/gcc/config/sparc/t-chorus-elf
new file mode 100644 (file)
index 0000000..993d7a3
--- /dev/null
@@ -0,0 +1,36 @@
+# we need to supply our own assembly versions of libgcc1.c files,
+# since the user may not have native 'cc' available
+
+CROSS_LIBGCC1 = libgcc1-asm.a
+LIB1ASMSRC = sparc/lb1spc.asm
+LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
+
+# crt0 is built elsewhere
+LIBGCC1_TEST =
+
+# We want fine grained libraries, so use the new code to build the
+# floating point emulation libraries.
+FPBIT = fp-bit.c
+DPBIT = dp-bit.c
+
+dp-bit.c: $(srcdir)/config/fp-bit.c
+       cat $(srcdir)/config/fp-bit.c > dp-bit.c
+
+fp-bit.c: $(srcdir)/config/fp-bit.c
+       echo '#define FLOAT' > fp-bit.c
+       cat $(srcdir)/config/fp-bit.c >> fp-bit.c
+
+# MULTILIB_OPTIONS should have msparclite too, but we'd have to make
+# gas build...
+MULTILIB_OPTIONS = 
+MULTILIB_DIRNAMES = 
+MULTILIB_MATCHES = 
+
+LIBGCC = stmp-multilib
+INSTALL_LIBGCC = install-multilib
+
+# Assemble startup files.
+crti.o: $(srcdir)/config/sparc/sol2-ci.asm $(GCC_PASSES)
+       $(GCC_FOR_TARGET) -c -o crti.o -x assembler $(srcdir)/config/sparc/sol2-ci.asm
+crtn.o: $(srcdir)/config/sparc/sol2-cn.asm $(GCC_PASSES)
+       $(GCC_FOR_TARGET) -c -o crtn.o -x assembler $(srcdir)/config/sparc/sol2-cn.asm