diff options
author | echristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-07-29 22:21:41 +0000 |
---|---|---|
committer | echristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-07-29 22:21:41 +0000 |
commit | 3c791c03ac7a881583815b9546391d4568972144 (patch) | |
tree | 53a67fa5e056e948fc0866051e59701ab03ab8de | |
parent | b3eecb6c12e1c236a33074b9e5c80c253f5500ba (diff) | |
download | gcc-3c791c03ac7a881583815b9546391d4568972144.tar.gz |
2002-07-29 Eric Christopher <echristo@redhat.com>
* config/mips/elf.h: Remove ecoff.h and gofast includes.
(DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
(SDB_DEBUGGING_INFO): Undefine.
(PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
(PUT_SDB_SIZE): Remove.
(SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
(STARTFILE_SPEC): Add isa3264 define.
* config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
* config/mips/ecoff.h: Remove. and here...
* config/mips/iris3.h: and here...
* config/mips/sni-svr4.h: and here...
* config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
Add assembler -mmdebug options for non-dwarf debugging.
* config/mips/r3900.h: Remove debug info defines.
* config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
* config/mips/isa3264.h: Ditto.
* config/mips/t-isa3264: Fix up for file removal and gofast configure
change.
* config/mips/t-elf: Ditto.
* config/mips/t-ecoff: Ditto.
* config/mips/t-r3900: Ditto.
* config/mips/t-iris5-6: Ditto.
* config/mips/t-isa3264: Ditto.
* config/mips/t-linux: Remove.
* config/mips/t-netbsd: Remove.
* config/mips/t-mips: New file.
* config/mips/t-gofast: Ditto.
* config/mips/netbsd.h: Remove unnecessary undefines.
* config/mips/linux.h: Remove #include of mips.h.
* config.gcc: Add mips.h include for elf targets. Remove tm_file
for ecoff. Add gofast configure option for mips.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55852 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 36 | ||||
-rw-r--r-- | gcc/config.gcc | 45 | ||||
-rw-r--r-- | gcc/config/mips/ecoff.h | 33 | ||||
-rw-r--r-- | gcc/config/mips/elf.h | 58 | ||||
-rw-r--r-- | gcc/config/mips/elf64.h | 50 | ||||
-rw-r--r-- | gcc/config/mips/iris3.h | 3 | ||||
-rw-r--r-- | gcc/config/mips/isa32-linux.h | 29 | ||||
-rw-r--r-- | gcc/config/mips/isa3264.h | 45 | ||||
-rw-r--r-- | gcc/config/mips/linux.h | 4 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 17 | ||||
-rw-r--r-- | gcc/config/mips/mips.h | 9 | ||||
-rw-r--r-- | gcc/config/mips/netbsd.h | 5 | ||||
-rw-r--r-- | gcc/config/mips/r3900.h | 19 | ||||
-rw-r--r-- | gcc/config/mips/sni-svr4.h | 3 | ||||
-rw-r--r-- | gcc/config/mips/t-ecoff | 22 | ||||
-rw-r--r-- | gcc/config/mips/t-elf | 28 | ||||
-rw-r--r-- | gcc/config/mips/t-gofast (renamed from gcc/config/mips/t-netbsd) | 9 | ||||
-rw-r--r-- | gcc/config/mips/t-iris5-6 | 17 | ||||
-rw-r--r-- | gcc/config/mips/t-isa3264 | 24 | ||||
-rw-r--r-- | gcc/config/mips/t-mips (renamed from gcc/config/mips/t-linux) | 9 | ||||
-rw-r--r-- | gcc/config/mips/t-r3900 | 26 |
21 files changed, 121 insertions, 370 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f1f8c1506c6..dee88424ae1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,37 @@ +2002-07-29 Eric Christopher <echristo@redhat.com> + + * config/mips/elf.h: Remove ecoff.h and gofast includes. + (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally. + (SDB_DEBUGGING_INFO): Undefine. + (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG. + (PUT_SDB_SIZE): Remove. + (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine. + (STARTFILE_SPEC): Add isa3264 define. + * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here... + * config/mips/ecoff.h: Remove. and here... + * config/mips/iris3.h: and here... + * config/mips/sni-svr4.h: and here... + * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs. + Add assembler -mmdebug options for non-dwarf debugging. + * config/mips/r3900.h: Remove debug info defines. + * config/mips/isa32-linux.h: Remove, move functionality to config.gcc. + * config/mips/isa3264.h: Ditto. + * config/mips/t-isa3264: Fix up for file removal and gofast configure + change. + * config/mips/t-elf: Ditto. + * config/mips/t-ecoff: Ditto. + * config/mips/t-r3900: Ditto. + * config/mips/t-iris5-6: Ditto. + * config/mips/t-isa3264: Ditto. + * config/mips/t-linux: Remove. + * config/mips/t-netbsd: Remove. + * config/mips/t-mips: New file. + * config/mips/t-gofast: Ditto. + * config/mips/netbsd.h: Remove unnecessary undefines. + * config/mips/linux.h: Remove #include of mips.h. + * config.gcc: Add mips.h include for elf targets. Remove tm_file + for ecoff. Add gofast configure option for mips. + 2002-07-29 Chris Demetriou <cgd@broadcom.com> * configure.in (mips*-*-*): Add a test to see if MIPS libgloss @@ -114,7 +148,7 @@ 2002-07-29 Mike Stump <mrs@apple.com> - * config.gcc (target_gtfiles): Initialize, as otherwise cross + * config.gcc (target_gtfiles): Initialize, as otherwise cross compilers hosted on powerpc-apple-darwin6.0 won't even build. 2002-07-29 Richard Earnshaw <rearnsha@arm.com> diff --git a/gcc/config.gcc b/gcc/config.gcc index 9f2266f45bf..913bc16fb9b 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1439,7 +1439,7 @@ ia64*-*-hpux*) use_collect2=no float_format=i128 ;; -ip2k-*-elf) +ip2k-*-elf) ;; m32r-*-elf*) tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" @@ -1786,7 +1786,7 @@ mips-sgi-irix6*) # SGI System V.4., IRIX 6 # fi ;; mips-wrs-vxworks) - tm_file="mips/elf.h mips/vxworks.h" + tm_file="${tm_file} mips/elf.h mips/vxworks.h" tmake_file=mips/t-ecoff gas=yes gnu_ld=yes @@ -1854,11 +1854,11 @@ mips*-*-netbsd*) # NetBSD/mips, either endian. tmake_file="${tmake_file} mips/t-netbsd" ;; mips*-*-linux*) # Linux MIPS, either endian. - tm_file="dbxelf.h elfos.h svr4.h linux.h mips/linux.h" + tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h mips/linux.h" case $machine in mipsisa32*-*) - tm_file="$tm_file mips/isa32-linux.h" target_cpu_default="MASK_SOFT_FLOAT" + tm_defines="MIPS_ISA_DEFAULT=32" ;; esac tmake_file="t-slibgcc-elf-ver t-linux mips/t-linux" @@ -1877,53 +1877,60 @@ mips*-*-openbsd*) # mips big endian tm_file="mips/openbsd-be.h ${tm_file}" ;; mips-*-ecoff* | mipsel-*-ecoff*) - tm_file="gofast.h mips/ecoff.h" if test x$stabs = xyes; then tm_file="${tm_file} dbx.h" fi tmake_file=mips/t-ecoff ;; mipsisa32-*-elf* | mipsisa32el-*-elf*) - tm_file="mips/isa3264.h mips/abi64.h" + tm_file="${tm_file} mips/elf.h mips/abi64.h" tmake_file=mips/t-isa3264 - target_cpu_default="MASK_SOFT_FLOAT" + tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_MEABI" ;; mipsisa64-*-elf* | mipsisa64el-*-elf*) - tm_file="mips/isa3264.h mips/abi64.h" + tm_file="${tm_file} mips/elf.h mips/abi64.h" tmake_file=mips/t-isa3264 target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS" - tm_defines="MIPS_ISA_DEFAULT=64" + tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_MEABI" ;; mips-*-elf* | mipsel-*-elf*) - tm_file="mips/elf.h" + tm_file="${tm_file} mips/elf.h" tmake_file=mips/t-elf ;; mips64-*-elf* | mips64el-*-elf*) - tm_file="mips/elf64.h" + tm_file="${tm_file} mips/elf64.h" tmake_file=mips/t-elf + target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS" + tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64" ;; mips64orion-*-elf* | mips64orionel-*-elf*) - tm_file="mips/elforion.h mips/elf64.h" + tm_file="${tm_file} mips/elforion.h mips/elf64.h" + tmake_file=mips/t-elf tmake_file=mips/t-elf + target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS" + tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64" ;; mips64orion-*-rtems*) xm_defines=POSIX - tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h rtems.h" + tm_file="${tm_file} mips/elforion.h mips/elf64.h mips/rtems64.h rtems.h" tmake_file="mips/t-elf t-rtems" + tmake_file=mips/t-elf + target_cpu_default="MASK_64BIT|MASK_FLOAT64|MASK_GAS" + tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64" if test x$enable_threads = xyes; then thread_file='rtems' fi ;; mips*-*-rtems*) xm_defines=POSIX - tm_file="mips/elf.h mips/rtems.h rtems.h" + tm_file="${tm_file} mips/elf.h mips/rtems.h rtems.h" tmake_file="mips/t-elf t-rtems" if test x$enable_threads = xyes; then thread_file='rtems' fi ;; mipstx39-*-elf* | mipstx39el-*-elf*) - tm_file="mips/r3900.h mips/elf.h mips/abi64.h" + tm_file="${tm_file} mips/r3900.h mips/elf.h mips/abi64.h" tmake_file=mips/t-r3900 ;; mmix-knuth-mmixware) @@ -2915,6 +2922,14 @@ mips*-*-*) tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines" ;; esac + if test "x$enable_gofast" = xyes + then + tm_defines="INIT_SUBTARGET_OPTABS=INIT_GOFAST_OPTABS $tm_defines" + tm_file="gofast.h $tm_file" + tmake_file="mips/t-gofast $tmake_file" + else + tmake_file="mips/t-mips $tmake_file" + fi ;; powerpc*-*-* | rs6000-*-*) if test x$enable_altivec = xyes diff --git a/gcc/config/mips/ecoff.h b/gcc/config/mips/ecoff.h deleted file mode 100644 index 0db9bc74327..00000000000 --- a/gcc/config/mips/ecoff.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Definitions of target machine for GNU compiler. MIPS version with - GOFAST floating point library. - Copyright (C) 1994, 1998 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. */ - -/* US Software GOFAST library support. */ -#define INIT_SUBTARGET_OPTABS INIT_GOFAST_OPTABS - -#include "mips/mips.h" - -/* Use memcpy, et. al., rather than bcopy. */ -#define TARGET_MEM_FUNCTIONS - -/* Don't assume anything about startfiles. The linker script will load the - appropriate startfiles. */ -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "" diff --git a/gcc/config/mips/elf.h b/gcc/config/mips/elf.h index b62bf343409..07fe78511ad 100644 --- a/gcc/config/mips/elf.h +++ b/gcc/config/mips/elf.h @@ -20,59 +20,39 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Use ELF. */ +#undef OBJECT_FORMAT_COFF +#undef EXTENDED_COFF #define OBJECT_FORMAT_ELF -/* All ELF targets can support DWARF-2. */ +/* ??? Move all SDB stuff into separate header file. */ +#undef SDB_DEBUGGING_INFO -#ifndef DWARF2_DEBUGGING_INFO -#define DWARF2_DEBUGGING_INFO 1 -#endif +#define DBX_DEBUGGING_INFO +#define DWARF2_DEBUGGING_INFO -/* Until we figure out what MIPS ELF targets normally use, just do - stabs in ELF. */ -#ifndef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG -#endif +#undef PREFERRED_DEBUGGING_TYPE +#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG -/* Mostly like ECOFF. */ -#include "gofast.h" -#include "mips/ecoff.h" - -/* We need to use .esize and .etype instead of .size and .type to - avoid conflicting with ELF directives. */ -#undef PUT_SDB_SIZE -#define PUT_SDB_SIZE(a) \ -do { \ - extern FILE *asm_out_text_file; \ - fprintf (asm_out_text_file, "\t.esize\t"); \ - fprintf (asm_out_text_file, HOST_WIDE_INT_PRINT_DEC, (HOST_WIDE_INT) (a)); \ - fprintf (asm_out_text_file, ";"); \ -} while (0) - -#undef PUT_SDB_TYPE -#define PUT_SDB_TYPE(a) \ -do { \ - extern FILE *asm_out_text_file; \ - fprintf (asm_out_text_file, "\t.etype\t0x%x;", (a)); \ -} while (0) +#undef SUBTARGET_ASM_DEBUGGING_SPEC +#define SUBTARGET_ASM_DEBUGGING_SPEC "-g0" /* Biggest alignment supported by the object file format of this machine. Use this macro to limit the alignment which can be specified using the `__attribute__ ((aligned (N)))' construct. If not defined, the default value is `BIGGEST_ALIGNMENT'. */ -#undef MAX_OFILE_ALIGNMENT +#undef MAX_OFILE_ALIGNMENT #define MAX_OFILE_ALIGNMENT (32768*8) /* Switch into a generic section. */ -#undef TARGET_ASM_NAMED_SECTION +#undef TARGET_ASM_NAMED_SECTION #define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section /* Given that Irix has it's own headers, not having TARGET_GAS here seems a mistake. If we actually need to be prepared for file switching, then we need a custom TARGET_ASM_NAMED_SECTION too. */ -#undef TEXT_SECTION +#undef TEXT_SECTION #define TEXT_SECTION() \ do { \ if (TARGET_FILE_SWITCHING) \ @@ -145,7 +125,7 @@ do { \ /* Write the extra assembler code needed to declare an object properly. */ -#undef ASM_DECLARE_OBJECT_NAME +#undef ASM_DECLARE_OBJECT_NAME #define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ do { \ HOST_WIDE_INT size; \ @@ -166,7 +146,7 @@ do { \ size_directive_output was set by ASM_DECLARE_OBJECT_NAME when it was run for the same decl. */ -#undef ASM_FINISH_DECLARE_OBJECT +#undef ASM_FINISH_DECLARE_OBJECT #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \ do { \ const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \ @@ -198,7 +178,7 @@ do { \ but until that support is generally available, the 'if' below should serve. */ -#undef ASM_WEAKEN_LABEL +#undef ASM_WEAKEN_LABEL #define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,0) #define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \ do { \ @@ -221,10 +201,10 @@ do { \ /* A list of other sections which the compiler might be "in" at any given time. */ -#undef EXTRA_SECTIONS +#undef EXTRA_SECTIONS #define EXTRA_SECTIONS in_sdata, in_sbss -#undef EXTRA_SECTION_FUNCTIONS +#undef EXTRA_SECTION_FUNCTIONS #define EXTRA_SECTION_FUNCTIONS \ SECTION_FUNCTION_TEMPLATE(sdata_section, in_sdata, SDATA_SECTION_ASM_OP) \ SECTION_FUNCTION_TEMPLATE(sbss_section, in_sbss, SBSS_SECTION_ASM_OP) @@ -251,7 +231,7 @@ void FN () \ #define FINI_SECTION_ASM_OP "\t.section\t.fini" /* Don't set the target flags, this is done by the linker script */ -#undef LIB_SPEC +#undef LIB_SPEC #define LIB_SPEC "" #undef STARTFILE_SPEC diff --git a/gcc/config/mips/elf64.h b/gcc/config/mips/elf64.h index 32116b7e641..1882747fbf3 100644 --- a/gcc/config/mips/elf64.h +++ b/gcc/config/mips/elf64.h @@ -20,33 +20,19 @@ 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 OBJECT_FORMAT_COFF +#undef EXTENDED_COFF #define OBJECT_FORMAT_ELF -/* If an embedded ABI is selected, prefer to generate 64-bit code. - Implies -mips3 in such cases. */ -#ifndef TARGET_DEFAULT -#define TARGET_DEFAULT MASK_FLOAT64|MASK_64BIT -#endif - -/* This should change to n32 when it is supported in gas. */ -#ifndef MIPS_ABI_DEFAULT -#define MIPS_ABI_DEFAULT ABI_O64 -#endif - -/* Until we figure out what MIPS ELF targets normally use, just do - stabs in ELF. */ -#ifndef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG -#endif +#undef SDB_DEBUGGING_INFO +#define DBX_DEBUGGING_INFO +#define DWARF2_DEBUGGING_INFO -/* US Software GOFAST library support. */ -#include "gofast.h" -#define INIT_SUBTARGET_OPTABS INIT_GOFAST_OPTABS +#undef PREFERRED_DEBUGGING_TYPE +#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG -#include "mips/mips.h" - -/* Use memcpy, et. al., rather than bcopy. */ -#define TARGET_MEM_FUNCTIONS +#undef SUBTARGET_ASM_DEBUGGING_SPEC +#define SUBTARGET_ASM_DEBUGGING_SPEC "-g0" /* Biggest alignment supported by the object file format of this machine. Use this macro to limit the alignment which can be @@ -56,24 +42,6 @@ Boston, MA 02111-1307, USA. */ #undef MAX_OFILE_ALIGNMENT #define MAX_OFILE_ALIGNMENT (32768*8) -/* We need to use .esize and .etype instead of .size and .type to - avoid conflicting with ELF directives. */ -#undef PUT_SDB_SIZE -#define PUT_SDB_SIZE(a) \ -do { \ - extern FILE *asm_out_text_file; \ - fprintf (asm_out_text_file, "\t.esize\t"); \ - fprintf (asm_out_text_file, HOST_WIDE_INT_PRINT_DEC, (HOST_WIDE_INT) (a)); \ - fprintf (asm_out_text_file, ";"); \ -} while (0) - -#undef PUT_SDB_TYPE -#define PUT_SDB_TYPE(a) \ -do { \ - extern FILE *asm_out_text_file; \ - fprintf (asm_out_text_file, "\t.etype\t0x%x;", (a)); \ -} while (0) - /* Switch into a generic section. */ #undef TARGET_ASM_NAMED_SECTION #define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section diff --git a/gcc/config/mips/iris3.h b/gcc/config/mips/iris3.h index 2119f3c72d9..5b05a9f9fbf 100644 --- a/gcc/config/mips/iris3.h +++ b/gcc/config/mips/iris3.h @@ -65,8 +65,5 @@ Boston, MA 02111-1307, USA. */ #define WCHAR_TYPE "unsigned char" #define WCHAR_TYPE_SIZE BITS_PER_UNIT -/* Generate calls to memcpy, etc., not bcopy, etc. */ -#define TARGET_MEM_FUNCTIONS - /* Plain char is unsigned in the SGI compiler. */ #define DEFAULT_SIGNED_CHAR 0 diff --git a/gcc/config/mips/isa32-linux.h b/gcc/config/mips/isa32-linux.h deleted file mode 100644 index a03b79a6621..00000000000 --- a/gcc/config/mips/isa32-linux.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Definitions for MIPS32 running Linux-based GNU systems with ELF format. - 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 TARGET_VERSION -#if TARGET_ENDIAN_DEFAULT == 0 -#define TARGET_VERSION fprintf (stderr, " (MIPS32el GNU/Linux with ELF)"); -#else -#define TARGET_VERSION fprintf (stderr, " (MIPS32 GNU/Linux with ELF)"); -#endif - -#undef MIPS_ISA_DEFAULT -#define MIPS_ISA_DEFAULT 32 diff --git a/gcc/config/mips/isa3264.h b/gcc/config/mips/isa3264.h deleted file mode 100644 index 90525963a2b..00000000000 --- a/gcc/config/mips/isa3264.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Definitions of target machine for GNU compiler. - MIPS 32 and MIPS 64 version. - Copyright (C) 1999, 2000 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. */ - -#ifndef MIPS_ISA_DEFAULT -#define MIPS_ISA_DEFAULT 32 -#endif - -#ifndef MIPS_ABI_DEFAULT -#define MIPS_ABI_DEFAULT ABI_MEABI -#endif - -#ifndef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG -#endif - -#include "mips/elf.h" - -#ifndef HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES -/* Once HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is always true, this code - can be GC'd. */ -#if MIPS_ABI_DEFAULT == ABI_MEABI -/* For MEABI, don't link with crt0 files, let the linker start files specify - the appropriate crt0 file. */ -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "crti%O%s crtbegin%O%s" -#endif -#endif diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h index 1e805b67d16..71de1611699 100644 --- a/gcc/config/mips/linux.h +++ b/gcc/config/mips/linux.h @@ -18,7 +18,6 @@ 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. */ -#include "mips/mips.h" #include "mips/abi64.h" #undef WCHAR_TYPE @@ -188,14 +187,13 @@ void FN () \ %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \ %{static:-static}}}" - #undef SUBTARGET_ASM_SPEC #define SUBTARGET_ASM_SPEC "\ %{mabi=64: -64} \ %{!fno-PIC:%{!fno-pic:-KPIC}} \ %{fno-PIC:-non_shared} %{fno-pic:-non_shared}" -#undef SUBTARGET_ASM_DEBUGGING_SPEC +#undef SUBTARGET_ASM_DEBUGGING_SPEC #define SUBTARGET_ASM_DEBUGGING_SPEC "-g0" /* The MIPS assembler has different syntax for .set. We set it to diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 8c5a34ffbc7..532e55994ea 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -5357,13 +5357,13 @@ override_options () else if (FP_REG_P (regno)) temp = (((regno % FP_INC) == 0 - /* I think this change is OK regardless of abi, but + /* I think this change is OK regardless of abi, but I'm being cautions untill I can test this more. HARD_REGNO_MODE_OK is about whether or not you can move to and from a register without changing the value, not about whether math works on the - register. */ - || (mips_abi == ABI_MEABI && size <= 4)) + register. */ + || (mips_abi == ABI_MEABI && size <= 4)) && (((class == MODE_FLOAT || class == MODE_COMPLEX_FLOAT) && size <= UNITS_PER_FPVALUE) /* Allow integer modes that fit into a single @@ -10369,20 +10369,17 @@ mips_return_in_memory (type) static int mips_issue_rate () { - int rate; - switch (mips_tune) { case PROCESSOR_R3000: - rate = 1; - break; + return 1; default: - rate = 1; - break; + return 1; } - return rate; + abort (); + } const char * diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index 84b6880ddf1..3ec2cf5fe5d 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -1046,7 +1046,8 @@ extern int mips_abi; %{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \ %{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \ %{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \ -%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}" +%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3} \ +%{!gdwarf*:-mmdebug} %{gdwarf*:-mno-mdebug}" #endif /* SUBTARGET_ASM_SPEC is always passed to the assembler. It may be @@ -1448,10 +1449,8 @@ do { \ mips_debugger_offset (X, (HOST_WIDE_INT) OFFSET) /* Tell collect that the object format is ECOFF */ -#ifndef OBJECT_FORMAT_ROSE #define OBJECT_FORMAT_COFF /* Object file looks like COFF */ #define EXTENDED_COFF /* ECOFF, not normal coff */ -#endif /* Target machine storage layout */ @@ -2646,7 +2645,6 @@ extern enum reg_class mips_char_to_class[256]; /* 1 if N is a possible register number for function argument passing. We have no FP argument registers when soft-float. When FP registers are 32 bits, we can't directly reference the odd numbered ones. */ -/* For o64 we should be checking the mode for SFmode as well. */ #define FUNCTION_ARG_REGNO_P(N) \ ((IN_RANGE((N), GP_ARG_FIRST, GP_ARG_LAST) \ @@ -4656,3 +4654,6 @@ while (0) #define SFMODE_NAN \ unsigned short SFbignan[2] = {0x7fbf, 0xffff}; \ unsigned short SFlittlenan[2] = {0xffff, 0xffbf} + +/* Generate calls to memcpy, etc., not bcopy, etc. */ +#define TARGET_MEM_FUNCTIONS 1 diff --git a/gcc/config/mips/netbsd.h b/gcc/config/mips/netbsd.h index e661b003a6c..bda60584871 100644 --- a/gcc/config/mips/netbsd.h +++ b/gcc/config/mips/netbsd.h @@ -60,13 +60,8 @@ Boston, MA 02111-1307, USA. */ #include <mips/elf.h> /* Now clean up after it. */ -#undef OBJECT_FORMAT_COFF #undef MD_EXEC_PREFIX #undef MD_STARTFILE_PREFIX -#undef US_SOFTWARE_GOFAST -#undef INIT_SUBTARGET_OPTABS -#define INIT_SUBTARGET_OPTABS - /* Get generic NetBSD definitions. */ #include <netbsd.h> diff --git a/gcc/config/mips/r3900.h b/gcc/config/mips/r3900.h index a8eb35705c5..ebef39f8787 100644 --- a/gcc/config/mips/r3900.h +++ b/gcc/config/mips/r3900.h @@ -35,22 +35,3 @@ Boston, MA 02111-1307, USA. */ %{mhard-float:%e-mhard-float not supported} \ %{msingle-float:%{msoft-float: \ %e-msingle-float and -msoft-float can not both be specified}}" - -/* Debugging */ - -#define DWARF2_DEBUGGING_INFO -#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG - -/* For the 'preferred' cases ("gN" and "ggdbN") we need to tell the - gnu assembler not to generate debugging information. */ - -#define SUBTARGET_ASM_DEBUGGING_SPEC "\ -%{!mmips-as: \ - %{g:-g0} %{g0:-g0} %{g1:-g0} %{g2:-g0} %{g3:-g0} \ - %{ggdb:-g0} %{ggdb0:-g0} %{ggdb1:-g0} %{ggdb2:-g0} %{ggdb3:-g0} \ - %{gdwarf-2*:-g0}} \ -%{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \ -%{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \ -%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}" - -/* eof */ diff --git a/gcc/config/mips/sni-svr4.h b/gcc/config/mips/sni-svr4.h index 1e5b14be434..f912759a16b 100644 --- a/gcc/config/mips/sni-svr4.h +++ b/gcc/config/mips/sni-svr4.h @@ -59,9 +59,6 @@ Boston, MA 02111-1307, USA. */ #define getpagesize() sysconf(_SC_PAGE_SIZE) #endif /* L_trampoline */ -/* Generate calls to memcpy, etc., not bcopy, etc. */ -#define TARGET_MEM_FUNCTIONS - #define OBJECT_FORMAT_ELF #define TARGET_DEFAULT MASK_ABICALLS diff --git a/gcc/config/mips/t-ecoff b/gcc/config/mips/t-ecoff index 8d7abc053bc..89e9bcf86c3 100644 --- a/gcc/config/mips/t-ecoff +++ b/gcc/config/mips/t-ecoff @@ -1,5 +1,3 @@ -CONFIG2_H = $(srcdir)/config/mips/ecoff.h - LIB1ASMSRC = mips/mips16.S LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \ _m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \ @@ -19,26 +17,6 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \ # without the $gp register. TARGET_LIBGCC2_CFLAGS = -G 0 -# 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 - echo '#ifdef __MIPSEL__' > dp-bit.c - echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c - echo '#endif' >> dp-bit.c - echo '#define US_SOFTWARE_GOFAST' >> dp-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 - echo '#ifdef __MIPSEL__' >> fp-bit.c - echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c - echo '#endif' >> fp-bit.c - echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c - cat $(srcdir)/config/fp-bit.c >> fp-bit.c - # Build the libraries for both hard and soft floating point MULTILIB_OPTIONS = msoft-float/msingle-float EL/EB mips1/mips3 diff --git a/gcc/config/mips/t-elf b/gcc/config/mips/t-elf index 06c297c540b..13ddcc3d22a 100644 --- a/gcc/config/mips/t-elf +++ b/gcc/config/mips/t-elf @@ -1,5 +1,3 @@ -CONFIG2_H = $(srcdir)/config/mips/ecoff.h - # Don't let CTOR_LIST end up in sdata section. CRTSTUFF_T_CFLAGS = -G 0 @@ -31,31 +29,11 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \ # without the $gp register. TARGET_LIBGCC2_CFLAGS = -G 0 -# 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 - echo '#ifdef __MIPSEL__' > dp-bit.c - echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c - echo '#endif' >> dp-bit.c - echo '#define US_SOFTWARE_GOFAST' >> dp-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 - echo '#ifdef __MIPSEL__' >> fp-bit.c - echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c - echo '#endif' >> fp-bit.c - echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c - cat $(srcdir)/config/fp-bit.c >> fp-bit.c - # Build the libraries for both hard and soft floating point -MULTILIB_OPTIONS = msoft-float/msingle-float EL/EB -MULTILIB_DIRNAMES = soft-float single el eb -MULTILIB_MATCHES = msingle-float=m4650 +MULTILIB_OPTIONS = msoft-float EL/EB +MULTILIB_DIRNAMES = soft-float el eb +#MULTILIB_MATCHES = msingle-float=m4650 EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o LIBGCC = stmp-multilib diff --git a/gcc/config/mips/t-netbsd b/gcc/config/mips/t-gofast index 75db636b6e7..a6c60d4bf57 100644 --- a/gcc/config/mips/t-netbsd +++ b/gcc/config/mips/t-gofast @@ -7,14 +7,13 @@ dp-bit.c: $(srcdir)/config/fp-bit.c echo '#ifdef __MIPSEL__' > dp-bit.c echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c echo '#endif' >> dp-bit.c - echo '#undef US_SOFTWARE_GOFAST' >> dp-bit.c - echo '#undef FLOAT' >> dp-bit.c + echo '#define US_SOFTWARE_GOFAST' >> dp-bit.c cat $(srcdir)/config/fp-bit.c >> dp-bit.c fp-bit.c: $(srcdir)/config/fp-bit.c - echo '#ifdef __MIPSEL__' > fp-bit.c + echo '#define FLOAT' > fp-bit.c + echo '#ifdef __MIPSEL__' >> fp-bit.c echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c echo '#endif' >> fp-bit.c - echo '#undef US_SOFTWARE_GOFAST' >> fp-bit.c - echo '#define FLOAT' >> fp-bit.c + echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c cat $(srcdir)/config/fp-bit.c >> fp-bit.c diff --git a/gcc/config/mips/t-iris5-6 b/gcc/config/mips/t-iris5-6 index ae45f187ea9..d0440bc5ca1 100644 --- a/gcc/config/mips/t-iris5-6 +++ b/gcc/config/mips/t-iris5-6 @@ -27,19 +27,4 @@ SHLIB_INSTALL = \ $(LN_S) $(SHLIB_SONAME) \ $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK) SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk -SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver - -# 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 - echo '#undef US_SOFTWARE_GOFAST' > dp-bit.c - echo '#undef FLOAT' >> dp-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 - echo '#undef US_SOFTWARE_GOFAST' >> fp-bit.c - cat $(srcdir)/config/fp-bit.c >> fp-bit.c +SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver diff --git a/gcc/config/mips/t-isa3264 b/gcc/config/mips/t-isa3264 index 620b1ff6679..02c9d272ea0 100644 --- a/gcc/config/mips/t-isa3264 +++ b/gcc/config/mips/t-isa3264 @@ -1,4 +1,4 @@ -CONFIG2_H = $(srcdir)/config/mips/isa3264.h $(srcdir)/config/mips/elf.h $(srcdir)/config/mips/ecoff.h $(srcdir)/config/mips/mips.h +CONFIG2_H = $(srcdir)/config/mips/elf.h $(srcdir)/config/mips/mips.h # Don't let CTOR_LIST end up in sdata section. CRTSTUFF_T_CFLAGS = -G 0 @@ -31,28 +31,6 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \ # without the $gp register. TARGET_LIBGCC2_CFLAGS = -G 0 -# fp-bit and dp-bit are really part of libgcc1, but this will cause -# them to be built correctly, so... [taken from t-sparclite] -# 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 - echo '#ifdef __MIPSEL__' > dp-bit.c - echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c - echo '#endif' >> dp-bit.c - echo '#define US_SOFTWARE_GOFAST' >> dp-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 - echo '#ifdef __MIPSEL__' >> fp-bit.c - echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c - echo '#endif' >> fp-bit.c - echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c - cat $(srcdir)/config/fp-bit.c >> fp-bit.c - # Build the libraries for both hard and soft floating point MULTILIB_OPTIONS = msoft-float EL/EB mips32/mips64 diff --git a/gcc/config/mips/t-linux b/gcc/config/mips/t-mips index 75db636b6e7..292386d0383 100644 --- a/gcc/config/mips/t-linux +++ b/gcc/config/mips/t-mips @@ -1,3 +1,5 @@ +# fp-bit and dp-bit are really part of libgcc1, but this will cause +# them to be built correctly, so... [taken from t-sparclite] # We want fine grained libraries, so use the new code to build the # floating point emulation libraries. FPBIT = fp-bit.c @@ -7,14 +9,11 @@ dp-bit.c: $(srcdir)/config/fp-bit.c echo '#ifdef __MIPSEL__' > dp-bit.c echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c echo '#endif' >> dp-bit.c - echo '#undef US_SOFTWARE_GOFAST' >> dp-bit.c - echo '#undef FLOAT' >> dp-bit.c cat $(srcdir)/config/fp-bit.c >> dp-bit.c fp-bit.c: $(srcdir)/config/fp-bit.c - echo '#ifdef __MIPSEL__' > fp-bit.c + echo '#define FLOAT' > fp-bit.c + echo '#ifdef __MIPSEL__' >> fp-bit.c echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c echo '#endif' >> fp-bit.c - echo '#undef US_SOFTWARE_GOFAST' >> fp-bit.c - echo '#define FLOAT' >> fp-bit.c cat $(srcdir)/config/fp-bit.c >> fp-bit.c diff --git a/gcc/config/mips/t-r3900 b/gcc/config/mips/t-r3900 index 85a6c545ac5..f8778cd158d 100644 --- a/gcc/config/mips/t-r3900 +++ b/gcc/config/mips/t-r3900 @@ -1,5 +1,3 @@ -CONFIG2_H = $(srcdir)/config/mips/ecoff.h - LIB1ASMSRC = mips/mips16.S LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \ _m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \ @@ -19,34 +17,14 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \ # without the $gp register. TARGET_LIBGCC2_CFLAGS = -G 0 -# 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 - echo '#ifdef __MIPSEL__' > dp-bit.c - echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c - echo '#endif' >> dp-bit.c - echo '#define US_SOFTWARE_GOFAST' >> dp-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 - echo '#ifdef __MIPSEL__' >> fp-bit.c - echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c - echo '#endif' >> fp-bit.c - echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c - cat $(srcdir)/config/fp-bit.c >> fp-bit.c - EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o # Don't let CTOR_LIST end up in sdata section. CRTSTUFF_T_CFLAGS = -G 0 # Build the libraries for both hard and soft floating point -MULTILIB_OPTIONS = msoft-float/msingle-float EL/EB -MULTILIB_DIRNAMES = soft-float single el eb +MULTILIB_OPTIONS = msoft-float EL/EB +MULTILIB_DIRNAMES = soft-float el eb LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib |