Re: Remove obsolete OpenBSD/MIPS support

2012-03-12 Thread Rainer Orth
Richard Sandiford  writes:

> Rainer Orth  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  

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.

# 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/g

Re: Remove obsolete OpenBSD/MIPS support

2012-03-07 Thread Rainer Orth
Richard Sandiford  writes:

> Definitely.  Thanks for saving me the legwork :-)

It was both easy to do and a prerequisite for the MIPS_DEBUGGING_INFO
removal :-)

> 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.

I'll probably get to it since I have to make minor adjustments to a
couple of patches anyway, but won't be able to before the weekend
myself.

Rainer

-- 
-
Rainer Orth, Center for Biotechnology, Bielefeld University


Re: Remove obsolete OpenBSD/MIPS support

2012-03-06 Thread Richard Sandiford
Rainer Orth  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.

Richard


Remove obsolete OpenBSD/MIPS support

2012-03-05 Thread Rainer Orth
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?

Rainer


2012-02-24  Rainer Orth  

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

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

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

# HG changeset patch
# Parent a45494fba4427f160e6f6b624c53e28274d2744c
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
@@ -40,7 +40,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
@@ -244,7 +244,6 @@ md_file=
 case ${target} in
alpha*-dec-osf5.1*			\
  | mips-sgi-irix6.5			\
- | mips*-*-openbsd*			\
  | score-*\
  | *-*-solaris2.8*			\
  )
@@ -1765,17 +1764,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/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 .  */
-#undef SIZE_TYPE
-#define SIZE_TYPE "long unsigned int"
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "long int"
-
-#undef WCHAR