diff mbox

Remove obsolete OpenBSD/MIPS support

Message ID yddd38hlsvj.fsf@manam.CeBiTec.Uni-Bielefeld.DE
State New
Headers show

Commit Message

Rainer Orth March 12, 2012, 3:51 p.m. UTC
Richard Sandiford <rdsandiford@googlemail.com> writes:

> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
>> I'm currently working on removing the obsolete Tru64 UNIX and IRIX
>> ports.  When IRIX is gone, the obsoleted OpenBSD/MIPS is the only
>> remaining port that uses MIPS_DEBUGGING_INFO (which I plan to remove as
>> a followup once IRIX is gone).
>>
>> The following patch has been included in a i386-pc-solaris2.10 bootstrap
>> to make sure that no obvious syntactic errors have crept in.
>>
>> Ok for mainline?
>
> Definitely.  Thanks for saving me the legwork :-)
>
> There are also some SDB_OUTPUT_SOURCE_LINE references in mips.c and
> mips.h that could go.  Removing those is preapproved if you want to
> do it as part of the same patch, otherwise I can do it this weekend.

Here's what I've installed.  The patch was bootstrapped (together with a
bunch of other removal patches to be submitted shortly) on
i386-pc-solaris2.11 and tested on an i386-solaris2.11 x mips-elf C-only
cross to make sure cc1 still builds.

	Rainer


2012-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	libgcc:
	* config.host (mips*-*-openbsd*): Remove.

	gcc:
	* config.gcc (mips*-*-openbsd*): Remove.
	* config/mips/openbsd.h: Remove.
	* config/mips/sdb.h: Remove.

	* config/mips/mips.h (SDB_OUTPUT_SOURCE_LINE): Remove.
	* config/mips/mips.c (sdb_label_count): Remove.
	(mips_debugger_offset): Remove #if 0 code.
	(mips_output_function_prologue) [SDB_DEBUGGING_INFO]: Remove.
	* config/mips/sde.h (SDB_DEBUGGING_INFO): Don't undef.

	contrib:
	* config-list.mk (LIST): Remove mips-openbsd.
diff mbox

Patch

# HG changeset patch
# Parent 629d4a30bc2bbb27d12aa73bd6e0221cecf83144
Remove obsolete OpenBSD/MIPS support

diff --git a/contrib/config-list.mk b/contrib/config-list.mk
--- a/contrib/config-list.mk
+++ b/contrib/config-list.mk
@@ -39,7 +39,7 @@  LIST = alpha-linux-gnu alpha-freebsd6 al
   mips-sgi-irix6.5OPT-with-stabsOPT-enable-threads=posixOPT-enable-obsolete \
   mips-netbsd \
   mips64el-st-linux-gnu mips64octeon-linux mipsisa64r2-linux \
-  mipsisa32r2-linux-gnu mips-openbsd mipsisa64r2-sde-elf mipsisa32-elfoabi \
+  mipsisa32r2-linux-gnu mipsisa64r2-sde-elf mipsisa32-elfoabi \
   mipsisa64-elfoabi mipsisa64r2el-elf mipsisa64sr71k-elf mipsisa64sb1-elf \
   mipsel-elf mips64-elf mips64vr-elf mips64orion-elf mips-rtems \
   mips-wrs-vxworks mipstx39-elf mmix-knuth-mmixware mn10300-elf moxie-elf \
diff --git a/gcc/config.gcc b/gcc/config.gcc
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -251,7 +251,6 @@  case ${target} in
  | arm*-*-uclinux*			\
  | arm*-wince-pe*			\
  | mips-sgi-irix6.5			\
- | mips*-*-openbsd*			\
  | score-*				\
  | *-*-solaris2.8*			\
  )
@@ -1744,17 +1743,6 @@  mips*-*-linux*)				# Linux MIPS, either 
         esac
 	test x$with_llsc != x || with_llsc=yes
 	;;
-mips*-*-openbsd*)
-	tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS"
-	target_cpu_default="MASK_ABICALLS"
-	tm_file="mips/mips.h openbsd.h openbsd-stdint.h openbsd-libpthread.h mips/openbsd.h mips/sdb.h"
-	extra_options="${extra_options} openbsd.opt"
-	case ${target} in
-	mips*el-*-openbsd*)
-	    tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=0";;
-	*)  tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=MASK_BIG_ENDIAN";;
-        esac
-	;;
 mips*-sde-elf*)
 	tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h mips/sde.h"
 	tmake_file="mips/t-sde"
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -494,9 +494,6 @@  int num_source_filenames;
    written anything yet.  */
 const char *current_function_file = "";
 
-/* A label counter used by PUT_SDB_BLOCK_START and PUT_SDB_BLOCK_END.  */
-int sdb_label_count;
-
 /* Arrays that map GCC register numbers to debugger register numbers.  */
 int mips_dbx_regno[FIRST_PSEUDO_REGISTER];
 int mips_dwarf_regno[FIRST_PSEUDO_REGISTER];
@@ -8114,13 +8111,6 @@  mips_debugger_offset (rtx addr, HOST_WID
 	offset += cfun->machine->frame.hard_frame_pointer_offset;
     }
 
-  /* sdbout_parms does not want this to crash for unrecognized cases.  */
-#if 0
-  else if (reg != arg_pointer_rtx)
-    fatal_insn ("mips_debugger_offset called with non stack/frame/arg pointer",
-		addr);
-#endif
-
   return offset;
 }
 
@@ -10129,11 +10119,6 @@  mips_output_function_prologue (FILE *fil
 {
   const char *fnname;
 
-#ifdef SDB_DEBUGGING_INFO
-  if (debug_info_level != DINFO_LEVEL_TERSE && write_symbols == SDB_DEBUG)
-    SDB_OUTPUT_SOURCE_LINE (file, DECL_SOURCE_LINE (current_function_decl));
-#endif
-
   /* In MIPS16 mode, we may need to generate a non-MIPS16 stub to handle
      floating-point arguments.  */
   if (TARGET_MIPS16
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -2551,10 +2551,6 @@  do									\
   }									\
 while (0)
 
-/* Use .loc directives for SDB line numbers.  */
-#define SDB_OUTPUT_SOURCE_LINE(STREAM, LINE)			\
-  fprintf (STREAM, "\t.loc\t%d %d\n", num_source_filenames, LINE)
-
 /* The MIPS implementation uses some labels for its own purpose.  The
    following lists what labels are created, and are all formed by the
    pattern $L[a-z].*.  The machine independent portion of GCC creates
diff --git a/gcc/config/mips/openbsd.h b/gcc/config/mips/openbsd.h
deleted file mode 100644
--- a/gcc/config/mips/openbsd.h
+++ /dev/null
@@ -1,101 +0,0 @@ 
-/* Configuration for  a MIPS ABI32 OpenBSD target.
-   Copyright (C) 1999, 2003, 2004, 2007, 2008, 2009, 2010, 2011
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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 3, or (at your option)
-any later version.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-/* Definitions needed for OpenBSD, to avoid picking mips 'defaults'.  */
-
-/* GAS must know this.  */
-#undef SUBTARGET_ASM_SPEC
-#define SUBTARGET_ASM_SPEC "%{fPIC|fPIE:-KPIC}"
-
-/* CPP specific OpenBSD specs.  */
-#undef SUBTARGET_CPP_SPEC
-#define SUBTARGET_CPP_SPEC OBSD_CPP_SPEC
-
-/* Needed for ELF (inspired by netbsd-elf).  */
-#undef LOCAL_LABEL_PREFIX
-#define LOCAL_LABEL_PREFIX	"."
-
-/* The profiling lib spec here is not really correct but we leave
-   it as it is until we have some kind of profiling working.  */
-#define LIB_SPEC OBSD_LIB_SPEC
-
-/* mips assembler uses .set for arcane purposes.  __attribute__((alias))
-   and friends won't work until we get recent binutils with .weakext
-	support.  */
-#undef SET_ASM_OP
-
-#define TARGET_OS_CPP_BUILTINS()			\
-    do {						\
-	builtin_define ("__unix__");			\
-	builtin_define ("__SYSTYPE_BSD__");		\
-	builtin_define ("__NO_LEADING_UNDERSCORES__");	\
-	builtin_define ("__GP_SUPPORT__");		\
-	builtin_define ("__OpenBSD__");			\
-	builtin_assert ("system=unix");			\
-	builtin_assert ("system=OpenBSD");		\
-} while (0)
-
-/* Layout of source language data types.  */
-
-/* This must agree with <machine/ansi.h>.  */
-#undef SIZE_TYPE
-#define SIZE_TYPE "long unsigned int"
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "long int"
-
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "int"
-
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 32
-
-#undef WINT_TYPE
-#define WINT_TYPE "int"
-
-/* Controlling the compilation driver.  */
-
-/* LINK_SPEC appropriate for OpenBSD:  support for GCC options
-   -static, -assert, and -nostdlib. Dynamic loader control.  */
-#undef LINK_SPEC
-#define LINK_SPEC \
-  "%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \
-   %{shared} \
-   %{!shared: -non_shared} \
-   -dynamic-linker /usr/libexec/ld.so \
-   %{!nostdlib:%{!r:%{!e*:-e __start}}} -dc -dp \
-   %{static:-Bstatic} %{!static:-Bdynamic} %{assert*}"
-
-/* -G is incompatible with -KPIC which is the default, so only allow objects
-   in the small data section if the user explicitly asks for it.  */
-#undef MIPS_DEFAULT_GVALUE
-#define MIPS_DEFAULT_GVALUE 0
-
-
-/* Since gas and gld are standard on OpenBSD, we don't need these.  */
-#undef ASM_FINAL_SPEC
-#undef STARTFILE_SPEC
-
-/* Switch into a generic section.  */
-#undef TARGET_ASM_NAMED_SECTION
-#define TARGET_ASM_NAMED_SECTION  default_elf_asm_named_section
-
-/* MIPS specific debugging info */
-#define MIPS_DEBUGGING_INFO 1
diff --git a/gcc/config/mips/sdb.h b/gcc/config/mips/sdb.h
deleted file mode 100644
--- a/gcc/config/mips/sdb.h
+++ /dev/null
@@ -1,87 +0,0 @@ 
-/* Generate SDB debugging info.
-   Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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 3, or (at your option) any later
-version.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-/* Note that no configuration uses sdb as its preferred format.  */
-
-#define SDB_DEBUGGING_INFO 1
-
-/* Forward references to tags are allowed.  */
-#define SDB_ALLOW_FORWARD_REFERENCES
-
-/* Unknown tags are also allowed.  */
-#define SDB_ALLOW_UNKNOWN_REFERENCES
-
-/* Block start/end next label #.  */
-extern int sdb_label_count;
-
-/* Starting line of current function.  */
-extern int sdb_begin_function_line;
-
-/* For block start and end, we create labels, so that
-   later we can figure out where the correct offset is.
-   The normal .ent/.end serve well enough for functions,
-   so those are just commented out.  */
-
-#define PUT_SDB_BLOCK_START(LINE)			\
-do {							\
-  fprintf (asm_out_file,				\
-	   "%sLb%d:\n\t.begin\t%sLb%d\t%d\n",		\
-	   LOCAL_LABEL_PREFIX,				\
-	   sdb_label_count,				\
-	   LOCAL_LABEL_PREFIX,				\
-	   sdb_label_count,				\
-	   (LINE));					\
-  sdb_label_count++;					\
-} while (0)
-
-#define PUT_SDB_BLOCK_END(LINE)				\
-do {							\
-  fprintf (asm_out_file,				\
-	   "%sLe%d:\n\t.bend\t%sLe%d\t%d\n",		\
-	   LOCAL_LABEL_PREFIX,				\
-	   sdb_label_count,				\
-	   LOCAL_LABEL_PREFIX,				\
-	   sdb_label_count,				\
-	   (LINE));					\
-  sdb_label_count++;					\
-} while (0)
-
-#define PUT_SDB_FUNCTION_START(LINE)
-
-#define PUT_SDB_FUNCTION_END(LINE)			\
-do {							\
-  SDB_OUTPUT_SOURCE_LINE (asm_out_file, LINE + sdb_begin_function_line); \
-} while (0)
-
-#define PUT_SDB_EPILOGUE_END(NAME)
-
-/* 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 {							\
-  fprintf (asm_out_file, "\t.esize\t" HOST_WIDE_INT_PRINT_DEC ";", \
- 	   (HOST_WIDE_INT) (a));			\
-} while (0)
-
-#undef PUT_SDB_TYPE
-#define PUT_SDB_TYPE(a)					\
-do {							\
-  fprintf (asm_out_file, "\t.etype\t0x%x;", (a));	\
-} while (0)
diff --git a/gcc/config/mips/sde.h b/gcc/config/mips/sde.h
--- a/gcc/config/mips/sde.h
+++ b/gcc/config/mips/sde.h
@@ -1,6 +1,6 @@ 
 /* Definitions of target machine for GNU compiler.
    MIPS SDE version.
-   Copyright (C) 2003, 2004, 2007, 2008, 2009, 2010, 2011
+   Copyright (C) 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -67,9 +67,6 @@  along with GCC; see the file COPYING3.  
 #undef DEFAULT_SIGNED_CHAR
 #define DEFAULT_SIGNED_CHAR 0
 
-/* SDE-MIPS won't ever support SDB debugging info.  */
-#undef SDB_DEBUGGING_INFO
-
 /* Describe how we implement __builtin_eh_return.  */
 
 /* At the moment, nothing appears to use more than 2 EH data registers.
diff --git a/libgcc/config.host b/libgcc/config.host
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -743,8 +743,6 @@  mips*-*-linux*)				# Linux MIPS, either 
 	tmake_file="${tmake_file} t-crtfm mips/t-mips16"
 	md_unwind_header=mips/linux-unwind.h
 	;;
-mips*-*-openbsd*)
-	;;
 mips*-sde-elf*)
 	tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
 	case "${with_newlib}" in