Re: Remove MIPS_DEBUGGING_INFO support

2012-03-14 Thread Rainer Orth
Joseph S. Myers jos...@codesourcery.com writes:

 On Mon, 5 Mar 2012, Rainer Orth wrote:

 The only two users of MIPS_DEBUGGING_INFO are on their way out: I've
 just submitted a patch to remove the OpenBSD/MIPS configuration, and
 IRIX removal will follow soon.  There seems to be no point in retaining
 what seems to be primarily workarounds for quirks in SGI dbx, so the
 following patch removes all other remnants of MIPS_DEBUGGING_INFO.

 As a removed target macro it should be poisoned in system.h.

This is the patch I comitted after rebootstrapping on
i386-pc-solaris2.11, once the remaining uses of MIPS_DEBUGGING_INFO in
gcc/config/alpha were gone.

Rainer


2012-02-24  Rainer Orth  r...@cebitec.uni-bielefeld.de

* dwarf2cfi.c (def_cfa_0): Remove MIPS_DEBUGGING_INFO handling.
(dwarf2out_do_cfi_asm): Likewise.
* dwarf2out.c (output_call_frame_info): Remove MIPS_DEBUGGING_INFO
handling.
(add_data_member_location_attribute): Likewise.
(gen_array_type_die): Likewise.
(gen_subprogram_die): Likewise.
(gen_producer_string): Likewise.
* sdbout.c (sdbout_begin_prologue): Declare unconditionally.
Remove MIPS_DEBUGGING_INFO handling.
(sdb_debug_hooks): Likewise.
(sdbout_begin_block): Likewise.
(sdbout_end_block): Likewise.
(sdbout_begin_prologue): Likewise.
(sdbout_start_source_file): Likewise.
(sdbout_end_source_file): Likewise.
(sdbout_init): Likewise.
* system.h (MIPS_DEBUGGING_INFO): Poison.

# HG changeset patch
# Parent 4495daa74b1dc1d5edbb14483970ce19ec823529
Remove MIPS_DEBUGGING_INFO support

diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c
--- a/gcc/dwarf2cfi.c
+++ b/gcc/dwarf2cfi.c
@@ -1,6 +1,6 @@
 /* Dwarf2 Call Frame Information helper routines.
Copyright (C) 1992, 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -724,8 +724,6 @@ def_cfa_0 (dw_cfa_location *old_cfa, dw_
 	cfi-dw_cfi_opc = DW_CFA_def_cfa_offset;
   cfi-dw_cfi_oprnd1.dw_cfi_offset = new_cfa-offset;
 }
-
-#ifndef MIPS_DEBUGGING_INFO  /* SGI dbx thinks this means no offset.  */
   else if (new_cfa-offset == old_cfa-offset
 	old_cfa-reg != INVALID_REGNUM
 	!new_cfa-indirect
@@ -737,8 +735,6 @@ def_cfa_0 (dw_cfa_location *old_cfa, dw_
   cfi-dw_cfi_opc = DW_CFA_def_cfa_register;
   cfi-dw_cfi_oprnd1.dw_cfi_reg_num = new_cfa-reg;
 }
-#endif
-
   else if (new_cfa-indirect == 0)
 {
   /* Construct a DW_CFA_def_cfa register offset instruction,
@@ -3388,10 +3384,6 @@ dwarf2out_do_cfi_asm (void)
 {
   int enc;
 
-#ifdef MIPS_DEBUGGING_INFO
-  return false;
-#endif
-
   if (saved_do_cfi_asm != 0)
 return saved_do_cfi_asm  0;
 
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -879,11 +879,6 @@ output_call_frame_info (int for_eh)
 
   if (for_eh  targetm.terminate_dw2_eh_frame_info)
 dw2_asm_output_data (4, 0, End of Table);
-#ifdef MIPS_DEBUGGING_INFO
-  /* Work around Irix 6 assembler bug whereby labels at the end of a section
- get a value of 0.  Putting .align 0 after the label fixes it.  */
-  ASM_OUTPUT_ALIGN (asm_out_file, 0);
-#endif
 
   /* Turn off app to make assembly quicker.  */
   if (flag_debug_asm)
@@ -14330,16 +14325,7 @@ add_data_member_location_attribute (dw_d
 	  /* The DWARF2 standard says that we should assume that the structure
 	 address is already on the stack, so we can specify a structure
 	 field address by using DW_OP_plus_uconst.  */
-
-#ifdef MIPS_DEBUGGING_INFO
-	  /* ??? The SGI dwarf reader does not handle the DW_OP_plus_uconst
-	 operator correctly.  It works only if we leave the offset on the
-	 stack.  */
-	  op = DW_OP_constu;
-#else
 	  op = DW_OP_plus_uconst;
-#endif
-
 	  loc_descr = new_loc_descr (op, offset, 0);
 	}
 }
@@ -16368,17 +16354,6 @@ gen_array_type_die (tree type, dw_die_re
   return;
 }
 
-  /* ??? The SGI dwarf reader fails for array of array of enum types
- (e.g. const enum machine_mode insn_operand_mode[2][10]) unless the inner
- array type comes before the outer array type.  We thus call gen_type_die
- before we new_die and must prevent nested array types collapsing for this
- target.  */
-
-#ifdef MIPS_DEBUGGING_INFO
-  gen_type_die (TREE_TYPE (type), context_die);
-  collapse_nested_arrays = false;
-#endif
-
   array_die = new_die (DW_TAG_array_type, scope_die, type);
   add_name_attribute (array_die, type_tag (type));
   equate_type_number_to_die (type, array_die);
@@ -16404,14 +16379,6 @@ gen_array_type_die (tree type, dw_die_re
   add_AT_unsigned (array_die, DW_AT_ordering, DW_ORD_row_major);
 #endif
 
-#ifdef MIPS_DEBUGGING_INFO
-  /* The SGI compilers handle arrays of unknown bound by setting
- AT_declaration

Remove MIPS_DEBUGGING_INFO support

2012-03-05 Thread Rainer Orth
The only two users of MIPS_DEBUGGING_INFO are on their way out: I've
just submitted a patch to remove the OpenBSD/MIPS configuration, and
IRIX removal will follow soon.  There seems to be no point in retaining
what seems to be primarily workarounds for quirks in SGI dbx, so the
following patch removes all other remnants of MIPS_DEBUGGING_INFO.

Bootstrapped without regressions on i386-pc-solaris2.10 to ensure
syntactic correctness.  I'll wait with committing until after
OpenBSD/MIPS and IRIX are actually gone.

Ok for mainline?

Rainer


2012-02-24  Rainer Orth  r...@cebitec.uni-bielefeld.de

* config/alpha/alpha.h (MIPS_DEBUGGING_INFO): Remove.
* config/alpha/elf.h (MIPS_DEBUGGING_INFO): Don't undef.
* config/alpha/vms.h (MIPS_DEBUGGING_INFO): Don't undef.

* dwarf2cfi.c (def_cfa_0): Remove MIPS_DEBUGGING_INFO handling.
(dwarf2out_do_cfi_asm): Likewise.
* dwarf2out.c (output_call_frame_info): Remove MIPS_DEBUGGING_INFO
handling.
(add_data_member_location_attribute): Likewise.
(gen_array_type_die): Likewise.
(gen_subprogram_die): Likewise.
(gen_producer_string): Likewise.
* sdbout.c (sdbout_begin_prologue): Declare unconditionally.
Remove MIPS_DEBUGGING_INFO handling.
(sdb_debug_hooks): Likewise.
(sdbout_begin_block): Likewise.
(sdbout_end_block): Likewise.
(sdbout_begin_prologue): Likewise.
(sdbout_start_source_file): Likewise.
(sdbout_end_source_file): Likewise.
(sdbout_init): Likewise.

# HG changeset patch
# Parent 7065cf1a3c9457e7ea48e3e7feee9b4e0726c3a7
Remove MIPS_DEBUGGING_INFO support

diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -1165,7 +1165,6 @@ do {		\
 
 #define SDB_DEBUGGING_INFO 1		/* generate info for mips-tfile */
 #define DBX_DEBUGGING_INFO 1		/* generate embedded stabs */
-#define MIPS_DEBUGGING_INFO 1		/* MIPS specific debugging info */
 
 #ifndef PREFERRED_DEBUGGING_TYPE	/* assume SDB_DEBUGGING_INFO */
 #define PREFERRED_DEBUGGING_TYPE  SDB_DEBUG
diff --git a/gcc/config/alpha/elf.h b/gcc/config/alpha/elf.h
--- a/gcc/config/alpha/elf.h
+++ b/gcc/config/alpha/elf.h
@@ -1,6 +1,6 @@
 /* Definitions of target machine for GNU compiler, for DEC Alpha w/ELF.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2007, 2008,
-   2009, 2010 Free Software Foundation, Inc.
+   2009, 2010, 2012 Free Software Foundation, Inc.
Contributed by Richard Henderson (r...@tamu.edu).
 
 This file is part of GCC.
@@ -25,7 +25,6 @@ along with GCC; see the file COPYING3.  
 
 /* ??? Move all SDB stuff from alpha.h to osf.h.  */
 #undef SDB_DEBUGGING_INFO
-#undef MIPS_DEBUGGING_INFO
 #undef DBX_DEBUGGING_INFO
 
 #define DWARF2_DEBUGGING_INFO 1
diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h
--- a/gcc/config/alpha/vms.h
+++ b/gcc/config/alpha/vms.h
@@ -1,6 +1,6 @@
 /* Output variables, constants and external declarations, for GNU compiler.
Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2004, 2005, 2007, 2008,
-   2009, 2010, 2011
+   2009, 2010, 2011, 2012
Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -206,7 +206,6 @@ typedef struct {int num_args; enum avms_
 #define TARGET_ASM_DESTRUCTOR   vms_asm_out_destructor
 
 #undef SDB_DEBUGGING_INFO
-#undef MIPS_DEBUGGING_INFO
 #undef DBX_DEBUGGING_INFO
 
 #define DWARF2_DEBUGGING_INFO 1
diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c
--- a/gcc/dwarf2cfi.c
+++ b/gcc/dwarf2cfi.c
@@ -1,6 +1,6 @@
 /* Dwarf2 Call Frame Information helper routines.
Copyright (C) 1992, 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -724,8 +724,6 @@ def_cfa_0 (dw_cfa_location *old_cfa, dw_
 	cfi-dw_cfi_opc = DW_CFA_def_cfa_offset;
   cfi-dw_cfi_oprnd1.dw_cfi_offset = new_cfa-offset;
 }
-
-#ifndef MIPS_DEBUGGING_INFO  /* SGI dbx thinks this means no offset.  */
   else if (new_cfa-offset == old_cfa-offset
 	old_cfa-reg != INVALID_REGNUM
 	!new_cfa-indirect
@@ -737,8 +735,6 @@ def_cfa_0 (dw_cfa_location *old_cfa, dw_
   cfi-dw_cfi_opc = DW_CFA_def_cfa_register;
   cfi-dw_cfi_oprnd1.dw_cfi_reg_num = new_cfa-reg;
 }
-#endif
-
   else if (new_cfa-indirect == 0)
 {
   /* Construct a DW_CFA_def_cfa register offset instruction,
@@ -3388,10 +3384,6 @@ dwarf2out_do_cfi_asm (void)
 {
   int enc;
 
-#ifdef MIPS_DEBUGGING_INFO
-  return false;
-#endif
-
   if (saved_do_cfi_asm != 0)
 return saved_do_cfi_asm  0;
 
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -879,11 +879,6 @@ output_call_frame_info (int for_eh)
 
   if (for_eh  targetm.terminate_dw2_eh_frame_info)
 dw2_asm_output_data (4, 0, End of Table);
-#ifdef

Re: Remove MIPS_DEBUGGING_INFO support

2012-03-05 Thread Richard Henderson
On 03/05/2012 09:20 AM, Rainer Orth wrote:
 2012-02-24  Rainer Orth  r...@cebitec.uni-bielefeld.de
 
   * config/alpha/alpha.h (MIPS_DEBUGGING_INFO): Remove.
   * config/alpha/elf.h (MIPS_DEBUGGING_INFO): Don't undef.
   * config/alpha/vms.h (MIPS_DEBUGGING_INFO): Don't undef.
 
   * dwarf2cfi.c (def_cfa_0): Remove MIPS_DEBUGGING_INFO handling.
   (dwarf2out_do_cfi_asm): Likewise.
   * dwarf2out.c (output_call_frame_info): Remove MIPS_DEBUGGING_INFO
   handling.
   (add_data_member_location_attribute): Likewise.
   (gen_array_type_die): Likewise.
   (gen_subprogram_die): Likewise.
   (gen_producer_string): Likewise.
   * sdbout.c (sdbout_begin_prologue): Declare unconditionally.
   Remove MIPS_DEBUGGING_INFO handling.
   (sdb_debug_hooks): Likewise.
   (sdbout_begin_block): Likewise.
   (sdbout_end_block): Likewise.
   (sdbout_begin_prologue): Likewise.
   (sdbout_start_source_file): Likewise.
   (sdbout_end_source_file): Likewise.
   (sdbout_init): Likewise.

Ok.


r~


Re: Remove MIPS_DEBUGGING_INFO support

2012-03-05 Thread Joseph S. Myers
On Mon, 5 Mar 2012, Rainer Orth wrote:

 The only two users of MIPS_DEBUGGING_INFO are on their way out: I've
 just submitted a patch to remove the OpenBSD/MIPS configuration, and
 IRIX removal will follow soon.  There seems to be no point in retaining
 what seems to be primarily workarounds for quirks in SGI dbx, so the
 following patch removes all other remnants of MIPS_DEBUGGING_INFO.

As a removed target macro it should be poisoned in system.h.

-- 
Joseph S. Myers
jos...@codesourcery.com