From 8da6d80e8706bcdffc8b07c5a57ad820e9651f2a Mon Sep 17 00:00:00 2001 From: Chandrakala Chavva Date: Thu, 8 Feb 2001 17:09:06 -0500 Subject: [PATCH] config.gcc: New targets, i386-*-chorusos*, sparc-*-chorusos*, powerpc-*-chorusos* . * 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. From-SVN: r39551 --- gcc/ChangeLog | 11 ++++++++- gcc/config.gcc | 32 +++++++++++++++++++++++++ gcc/config/i386/chorus.h | 45 +++++++++++++++++++++++++++++++++++ gcc/config/rs6000/chorus.h | 44 ++++++++++++++++++++++++++++++++++ gcc/config/sparc/chorus.h | 43 +++++++++++++++++++++++++++++++++ gcc/config/sparc/t-chorus-elf | 36 ++++++++++++++++++++++++++++ 6 files changed, 210 insertions(+), 1 deletion(-) create mode 100644 gcc/config/i386/chorus.h create mode 100644 gcc/config/rs6000/chorus.h create mode 100644 gcc/config/sparc/chorus.h create mode 100644 gcc/config/sparc/t-chorus-elf diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 30f310aec8d..34d126daac6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2001-02-08 Chandrakala Chavva + + * 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 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ... @@ -101,7 +110,7 @@ Thu Feb 8 11:21:28 2001 Richard Kenner 2001-02-06 Chandrakala Chavva - * 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. diff --git a/gcc/config.gcc b/gcc/config.gcc index 1bbbb4e93f9..049d5d4c598 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -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 index 00000000000..a6b4d814f0b --- /dev/null +++ b/gcc/config/i386/chorus.h @@ -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 index 00000000000..836f0240731 --- /dev/null +++ b/gcc/config/rs6000/chorus.h @@ -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 index 00000000000..13a2a55a5a6 --- /dev/null +++ b/gcc/config/sparc/chorus.h @@ -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 index 00000000000..993d7a3dea9 --- /dev/null +++ b/gcc/config/sparc/t-chorus-elf @@ -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 -- 2.30.2