diff options
| -rw-r--r-- | gcc/ChangeLog | 11 | ||||
| -rw-r--r-- | gcc/config.gcc | 32 | ||||
| -rw-r--r-- | gcc/config/i386/chorus.h | 45 | ||||
| -rw-r--r-- | gcc/config/rs6000/chorus.h | 44 | ||||
| -rw-r--r-- | gcc/config/sparc/chorus.h | 43 | ||||
| -rw-r--r-- | gcc/config/sparc/t-chorus-elf | 36 | 
6 files changed, 210 insertions, 1 deletions
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  <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. 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  | 

