Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [rfc/rft] [1/3] Remove stabs target macros: VARIABLES_INSIDE_BLOCK
@ 2007-10-05 18:05 Ulrich Weigand
  2007-10-05 18:12 ` Daniel Jacobowitz
  2007-10-06  7:07 ` Eli Zaretskii
  0 siblings, 2 replies; 8+ messages in thread
From: Ulrich Weigand @ 2007-10-05 18:05 UTC (permalink / raw)
  To: gdb-patches

Hello,

this converts the VARIABLES_INSIDE_BLOCK target macro into a gdbarch callback.

Bye,
Ulrich


ChangeLog:

	* gdbarch.sh (variables_inside_block): New gdbarch callback.
	* gdbarch.c, gdbarch.h: Regenerate.
	* dbxread.c (process_one_symbol): Use gdbarch_variables_inside_block
	instead of VARIABLES_INSIDE_BLOCK.

	* arm-tdep.c (arm_variables_inside_block): New function.
	(arm_gdbarch_init): Install it.
	* config/arm/embed.mt (DEPRECATED_TM_FILE): Remove.
	* config/arm/linux.mt (DEPRECATED_TM_FILE): Remove.
	* config/arm/wince.mt (DEPRECATED_TM_FILE): Remove.
	* config/arm/tm-arm.h: Remove file.
	
doc/ChangeLog:

	* gdbint.texinfo: Document gdbarch_variables_inside_block
	instead of VARIABLES_INSIDE_BLOCK.


diff -urNp gdb-orig/gdb/arm-tdep.c gdb-head/gdb/arm-tdep.c
--- gdb-orig/gdb/arm-tdep.c	2007-10-05 14:54:59.000000000 +0200
+++ gdb-head/gdb/arm-tdep.c	2007-10-05 17:47:39.689478517 +0200
@@ -2653,6 +2653,15 @@ value_of_arm_user_reg (struct frame_info
   const int *reg_p = baton;
   return value_of_register (*reg_p, frame);
 }
+
+/* Specify that for the native compiler variables for a particular
+   lexical context are listed after the beginning LBRAC instead of
+   before in the executables list of symbols.  */
+static int
+arm_variables_inside_block (int desc, int gcc_p)
+{
+  return !gcc_p;
+}
 \f
 static enum gdb_osabi
 arm_elf_osabi_sniffer (bfd *abfd)
@@ -3001,6 +3010,9 @@ arm_gdbarch_init (struct gdbarch_info in
   set_gdbarch_coff_make_msymbol_special (gdbarch,
 					 arm_coff_make_msymbol_special);
 
+  /* Specical STABS overrides.  */
+  set_gdbarch_variables_inside_block (gdbarch, arm_variables_inside_block);
+
   /* Virtual tables.  */
   set_gdbarch_vbit_in_delta (gdbarch, 1);
 
diff -urNp gdb-orig/gdb/config/arm/embed.mt gdb-head/gdb/config/arm/embed.mt
--- gdb-orig/gdb/config/arm/embed.mt	2007-10-05 14:54:59.000000000 +0200
+++ gdb-head/gdb/config/arm/embed.mt	2007-10-05 17:47:39.736471747 +0200
@@ -1,6 +1,5 @@
 # Target: ARM embedded system
 TDEPFILES= arm-tdep.o
-DEPRECATED_TM_FILE= tm-arm.h
 
 SIM_OBS = remote-sim.o
 SIM = ../sim/arm/libsim.a
diff -urNp gdb-orig/gdb/config/arm/linux.mt gdb-head/gdb/config/arm/linux.mt
--- gdb-orig/gdb/config/arm/linux.mt	2007-10-05 14:54:59.000000000 +0200
+++ gdb-head/gdb/config/arm/linux.mt	2007-10-05 17:47:39.740471171 +0200
@@ -1,5 +1,4 @@
 # Target: ARM based machine running GNU/Linux
-DEPRECATED_TM_FILE= tm-arm.h
 TDEPFILES= arm-tdep.o arm-linux-tdep.o glibc-tdep.o solib.o \
   solib-svr4.o solib-legacy.o symfile-mem.o \
   corelow.o
diff -urNp gdb-orig/gdb/config/arm/tm-arm.h gdb-head/gdb/config/arm/tm-arm.h
--- gdb-orig/gdb/config/arm/tm-arm.h	2007-10-05 14:54:59.000000000 +0200
+++ gdb-head/gdb/config/arm/tm-arm.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
-/* Definitions to target GDB to ARM targets.
-   Copyright 1986, 1987, 1988, 1989, 1991, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000, 2001, 2002, 2007 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program 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 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef TM_ARM_H
-#define TM_ARM_H
-
-/* Specify that for the native compiler variables for a particular
-   lexical context are listed after the beginning LBRAC instead of
-   before in the executables list of symbols.  */
-#define VARIABLES_INSIDE_BLOCK(desc, gcc_p) (!(gcc_p))
-
-#endif /* TM_ARM_H */
diff -urNp gdb-orig/gdb/config/arm/wince.mt gdb-head/gdb/config/arm/wince.mt
--- gdb-orig/gdb/config/arm/wince.mt	2007-10-05 14:54:59.000000000 +0200
+++ gdb-head/gdb/config/arm/wince.mt	2007-10-05 17:47:39.770466850 +0200
@@ -1,4 +1,3 @@
 # Target: ARM based machine running Windows CE (win32)
-DEPRECATED_TM_FILE= tm-arm.h
 TDEPFILES= arm-tdep.o arm-wince-tdep.o corelow.o \
   solib.o solib-target.o
diff -urNp gdb-orig/gdb/dbxread.c gdb-head/gdb/dbxread.c
--- gdb-orig/gdb/dbxread.c	2007-10-05 14:55:00.000000000 +0200
+++ gdb-head/gdb/dbxread.c	2007-10-05 17:47:39.780465409 +0200
@@ -2655,6 +2655,8 @@ process_one_symbol (int type, int desc, 
 		    struct objfile *objfile)
 {
   struct context_stack *new;
+  int variables_inside_block;
+
   /* This remembers the address of the start of a function.  It is
      used because in Solaris 2, N_LBRAC, N_RBRAC, and N_SLINE entries
      are relative to the current function's start address.  On systems
@@ -2799,13 +2801,16 @@ process_one_symbol (int type, int desc, 
          true.  DESC is N_DESC from the N_RBRAC symbol.  GCC_P is true
          if we've detected the GCC_COMPILED_SYMBOL or the
          GCC2_COMPILED_SYMBOL.  */
-#if !defined (VARIABLES_INSIDE_BLOCK)
-#define VARIABLES_INSIDE_BLOCK(desc, gcc_p) 0
-#endif
+     if (gdbarch_variables_inside_block_p (current_gdbarch))
+	variables_inside_block
+	  = gdbarch_variables_inside_block (current_gdbarch, desc,
+					    processing_gcc_compilation);
+     else
+	variables_inside_block = 0;
 
       /* Can only use new->locals as local symbols here if we're in
          GCC or on a machine that puts them before the lbrack.  */
-      if (!VARIABLES_INSIDE_BLOCK (desc, processing_gcc_compilation))
+      if (!variables_inside_block)
 	{
 	  if (local_symbols != NULL)
 	    {
@@ -2816,7 +2821,7 @@ process_one_symbol (int type, int desc, 
 		 there are some compilers which legitimately put local
 		 symbols within an LBRAC/RBRAC block; this complaint
 		 might also help sort out problems in which
-		 VARIABLES_INSIDE_BLOCK is incorrectly defined.  */
+		 gdbarch_variables_inside_block is incorrectly defined.  */
 	      complaint (&symfile_complaints, _("\
 misplaced N_LBRAC entry; discarding local symbols which have \
 no enclosing block"));
@@ -2824,8 +2829,7 @@ no enclosing block"));
 	  local_symbols = new->locals;
 	}
 
-      if (context_stack_depth
-	  > !VARIABLES_INSIDE_BLOCK (desc, processing_gcc_compilation))
+      if (context_stack_depth > !variables_inside_block)
 	{
 	  /* This is not the outermost LBRAC...RBRAC pair in the
 	     function, its local symbols preceded it, and are the ones
@@ -2858,7 +2862,7 @@ no enclosing block"));
 	  within_function = 0;
 	}
 
-      if (VARIABLES_INSIDE_BLOCK (desc, processing_gcc_compilation))
+      if (variables_inside_block)
 	/* Now pop locals of block just finished.  */
 	local_symbols = new->locals;
       break;
diff -urNp gdb-orig/gdb/doc/gdbint.texinfo gdb-head/gdb/doc/gdbint.texinfo
--- gdb-orig/gdb/doc/gdbint.texinfo	2007-10-05 14:55:00.000000000 +0200
+++ gdb-head/gdb/doc/gdbint.texinfo	2007-10-05 17:47:39.842456479 +0200
@@ -4178,10 +4178,10 @@ This method has been deprecated in favou
 Convert a value of type @var{type} into the raw contents of a register.
 @xref{Target Architecture Definition, , Using Different Register and Memory Data Representations}.
 
-@item VARIABLES_INSIDE_BLOCK (@var{desc}, @var{gcc_p})
-@findex VARIABLES_INSIDE_BLOCK
+@item int gdbarch_variables_inside_block (@var{desc}, @var{gcc_p})
+@findex gdbarch_variables_inside_block
 For dbx-style debugging information, if the compiler puts variable
-declarations inside LBRAC/RBRAC blocks, this should be defined to be
+declarations inside LBRAC/RBRAC blocks, this should be defined to return
 nonzero.  @var{desc} is the value of @code{n_desc} from the
 @code{N_RBRAC} symbol, and @var{gcc_p} is true if @value{GDBN} has noticed the
 presence of either the @code{GCC_COMPILED_SYMBOL} or the
diff -urNp gdb-orig/gdb/gdbarch.c gdb-head/gdb/gdbarch.c
--- gdb-orig/gdb/gdbarch.c	2007-10-05 14:55:00.000000000 +0200
+++ gdb-head/gdb/gdbarch.c	2007-10-05 17:48:28.595880539 +0200
@@ -231,6 +231,7 @@ struct gdbarch
   gdbarch_skip_permanent_breakpoint_ftype *skip_permanent_breakpoint;
   gdbarch_overlay_update_ftype *overlay_update;
   gdbarch_core_read_description_ftype *core_read_description;
+  gdbarch_variables_inside_block_ftype *variables_inside_block;
 };
 
 
@@ -354,6 +355,7 @@ struct gdbarch startup_gdbarch =
   0,  /* skip_permanent_breakpoint */
   0,  /* overlay_update */
   0,  /* core_read_description */
+  0,  /* variables_inside_block */
   /* startup_gdbarch() */
 };
 
@@ -602,6 +604,7 @@ verify_gdbarch (struct gdbarch *current_
   /* Skip verify of skip_permanent_breakpoint, has predicate */
   /* Skip verify of overlay_update, has predicate */
   /* Skip verify of core_read_description, has predicate */
+  /* Skip verify of variables_inside_block, has predicate */
   buf = ui_file_xstrdup (log, &dummy);
   make_cleanup (xfree, buf);
   if (strlen (buf) > 0)
@@ -1038,6 +1041,12 @@ gdbarch_dump (struct gdbarch *current_gd
                       "gdbarch_dump: value_to_register = <0x%lx>\n",
                       (long) current_gdbarch->value_to_register);
   fprintf_unfiltered (file,
+                      "gdbarch_dump: gdbarch_variables_inside_block_p() = %d\n",
+                      gdbarch_variables_inside_block_p (current_gdbarch));
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: variables_inside_block = <0x%lx>\n",
+                      (long) current_gdbarch->variables_inside_block);
+  fprintf_unfiltered (file,
                       "gdbarch_dump: vbit_in_delta = %s\n",
                       paddr_d (current_gdbarch->vbit_in_delta));
   fprintf_unfiltered (file,
@@ -3034,6 +3043,30 @@ set_gdbarch_core_read_description (struc
   gdbarch->core_read_description = core_read_description;
 }
 
+int
+gdbarch_variables_inside_block_p (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  return gdbarch->variables_inside_block != NULL;
+}
+
+int
+gdbarch_variables_inside_block (struct gdbarch *gdbarch, int desc, int gcc_p)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->variables_inside_block != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_variables_inside_block called\n");
+  return gdbarch->variables_inside_block (desc, gcc_p);
+}
+
+void
+set_gdbarch_variables_inside_block (struct gdbarch *gdbarch,
+                                    gdbarch_variables_inside_block_ftype variables_inside_block)
+{
+  gdbarch->variables_inside_block = variables_inside_block;
+}
+
 
 /* Keep a registry of per-architecture data-pointers required by GDB
    modules. */
diff -urNp gdb-orig/gdb/gdbarch.h gdb-head/gdb/gdbarch.h
--- gdb-orig/gdb/gdbarch.h	2007-10-05 14:55:00.000000000 +0200
+++ gdb-head/gdb/gdbarch.h	2007-10-05 17:48:10.052758289 +0200
@@ -693,6 +693,16 @@ typedef const struct target_desc * (gdba
 extern const struct target_desc * gdbarch_core_read_description (struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd);
 extern void set_gdbarch_core_read_description (struct gdbarch *gdbarch, gdbarch_core_read_description_ftype *core_read_description);
 
+/* Specify that for the native compiler variables for a particular
+   lexical context are listed after the beginning LBRAC instead of
+   before in the executables list of symbols. */
+
+extern int gdbarch_variables_inside_block_p (struct gdbarch *gdbarch);
+
+typedef int (gdbarch_variables_inside_block_ftype) (int desc, int gcc_p);
+extern int gdbarch_variables_inside_block (struct gdbarch *gdbarch, int desc, int gcc_p);
+extern void set_gdbarch_variables_inside_block (struct gdbarch *gdbarch, gdbarch_variables_inside_block_ftype *variables_inside_block);
+
 extern struct gdbarch_tdep *gdbarch_tdep (struct gdbarch *gdbarch);
 
 
diff -urNp gdb-orig/gdb/gdbarch.sh gdb-head/gdb/gdbarch.sh
--- gdb-orig/gdb/gdbarch.sh	2007-10-05 14:55:00.000000000 +0200
+++ gdb-head/gdb/gdbarch.sh	2007-10-05 17:48:01.870740645 +0200
@@ -654,6 +654,11 @@ F::void:skip_permanent_breakpoint:struct
 F::void:overlay_update:struct obj_section *osect:osect
 
 M::const struct target_desc *:core_read_description:struct target_ops *target, bfd *abfd:target, abfd
+
+# Specify that for the native compiler variables for a particular
+# lexical context are listed after the beginning LBRAC instead of
+# before in the executables list of symbols.
+F::int:variables_inside_block:int desc, int gcc_p:desc, gcc_p
 EOF
 }
 
-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [rfc/rft] [1/3] Remove stabs target macros:  VARIABLES_INSIDE_BLOCK
  2007-10-05 18:05 [rfc/rft] [1/3] Remove stabs target macros: VARIABLES_INSIDE_BLOCK Ulrich Weigand
@ 2007-10-05 18:12 ` Daniel Jacobowitz
  2007-10-08 11:34   ` Ulrich Weigand
  2007-10-06  7:07 ` Eli Zaretskii
  1 sibling, 1 reply; 8+ messages in thread
From: Daniel Jacobowitz @ 2007-10-05 18:12 UTC (permalink / raw)
  To: Ulrich Weigand; +Cc: gdb-patches

On Fri, Oct 05, 2007 at 08:05:13PM +0200, Ulrich Weigand wrote:
> +/* Specify that for the native compiler variables for a particular
> +   lexical context are listed after the beginning LBRAC instead of
> +   before in the executables list of symbols.  */
> +static int
> +arm_variables_inside_block (int desc, int gcc_p)
> +{
> +  return !gcc_p;
> +}

Does anyone reading this know what native compiler is meant here?
I suspect it is an ancient comment, probably back as far as RiscOS.
In that case there's no reason to keep the variable.

>  \f
>  static enum gdb_osabi
>  arm_elf_osabi_sniffer (bfd *abfd)
> @@ -3001,6 +3010,9 @@ arm_gdbarch_init (struct gdbarch_info in
>    set_gdbarch_coff_make_msymbol_special (gdbarch,
>  					 arm_coff_make_msymbol_special);
>  
> +  /* Specical STABS overrides.  */

Typo.

-- 
Daniel Jacobowitz
CodeSourcery


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [rfc/rft] [1/3] Remove stabs target macros: VARIABLES_INSIDE_BLOCK
  2007-10-05 18:05 [rfc/rft] [1/3] Remove stabs target macros: VARIABLES_INSIDE_BLOCK Ulrich Weigand
  2007-10-05 18:12 ` Daniel Jacobowitz
@ 2007-10-06  7:07 ` Eli Zaretskii
  2007-10-06  7:44   ` Eli Zaretskii
  1 sibling, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2007-10-06  7:07 UTC (permalink / raw)
  To: Ulrich Weigand; +Cc: gdb-patches

> Date: Fri, 5 Oct 2007 20:05:13 +0200 (CEST)
> From: "Ulrich Weigand" <uweigand@de.ibm.com>
> 
> this converts the VARIABLES_INSIDE_BLOCK target macro into a gdbarch callback.

Thanks.

> doc/ChangeLog:
> 
> 	* gdbint.texinfo: Document gdbarch_variables_inside_block
> 	instead of VARIABLES_INSIDE_BLOCK.

This part is approved.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [rfc/rft] [1/3] Remove stabs target macros: VARIABLES_INSIDE_BLOCK
  2007-10-06  7:07 ` Eli Zaretskii
@ 2007-10-06  7:44   ` Eli Zaretskii
  2007-10-08 11:09     ` Ulrich Weigand
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2007-10-06  7:44 UTC (permalink / raw)
  To: uweigand, gdb-patches

> Date: Sat, 06 Oct 2007 09:07:43 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> CC: gdb-patches@sourceware.org
> 
> > Date: Fri, 5 Oct 2007 20:05:13 +0200 (CEST)
> > From: "Ulrich Weigand" <uweigand@de.ibm.com>
> > 
> > this converts the VARIABLES_INSIDE_BLOCK target macro into a gdbarch callback.
> 
> Thanks.
> 
> > doc/ChangeLog:
> > 
> > 	* gdbint.texinfo: Document gdbarch_variables_inside_block
> > 	instead of VARIABLES_INSIDE_BLOCK.
> 
> This part is approved.

Oops, not quite: please state the name(s) of the node(s) where you
made the changes.

Thanks.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [rfc/rft] [1/3] Remove stabs target macros: VARIABLES_INSIDE_BLOCK
  2007-10-06  7:44   ` Eli Zaretskii
@ 2007-10-08 11:09     ` Ulrich Weigand
  0 siblings, 0 replies; 8+ messages in thread
From: Ulrich Weigand @ 2007-10-08 11:09 UTC (permalink / raw)
  To: eliz; +Cc: gdb-patches

Eli Zaretskii wrote:
> > > 	* gdbint.texinfo: Document gdbarch_variables_inside_block
> > > 	instead of VARIABLES_INSIDE_BLOCK.
> > 
> > This part is approved.
> 
> Oops, not quite: please state the name(s) of the node(s) where you
> made the changes.

Sorry.  I'll add the node (Target Conditionals) to the entry.

Thanks,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [rfc/rft] [1/3] Remove stabs target macros:         VARIABLES_INSIDE_BLOCK
  2007-10-05 18:12 ` Daniel Jacobowitz
@ 2007-10-08 11:34   ` Ulrich Weigand
  2007-10-11 19:08     ` Daniel Jacobowitz
  0 siblings, 1 reply; 8+ messages in thread
From: Ulrich Weigand @ 2007-10-08 11:34 UTC (permalink / raw)
  To: Daniel Jacobowitz; +Cc: gdb-patches

Daniel Jacobowitz wrote:

> Does anyone reading this know what native compiler is meant here?
> I suspect it is an ancient comment, probably back as far as RiscOS.
> In that case there's no reason to keep the variable.

It looks like the variable was introduced with the initial version
of the m-arm.h file in 1990, so this is certainly ancient.

Tue Feb 13 00:08:27 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)

        * m-arm.h, arm-dep.c arm-pinsn.c arm-opcode.h: New files.
        dbxread.c, m-convex.h (VARIABLES_INSIDE_BLOCK): Add gcc_p parameter.
        Makefile.dist (alldeps.mak): Special case for arm-convert.s.
        dbxread.c (define_symbol): Check for local based on it not
        being any one of the known deftypes.
        values.c (using_struct_return): Use new macro USE_STRUCT_CONVENTION.

Just removing it would certainly be fine with me; should we do that?

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [rfc/rft] [1/3] Remove stabs target macros:  VARIABLES_INSIDE_BLOCK
  2007-10-08 11:34   ` Ulrich Weigand
@ 2007-10-11 19:08     ` Daniel Jacobowitz
  2007-10-11 19:48       ` Ulrich Weigand
  0 siblings, 1 reply; 8+ messages in thread
From: Daniel Jacobowitz @ 2007-10-11 19:08 UTC (permalink / raw)
  To: Ulrich Weigand; +Cc: gdb-patches

On Mon, Oct 08, 2007 at 01:34:04PM +0200, Ulrich Weigand wrote:
> Just removing it would certainly be fine with me; should we do that?

I tested this patch with stabs on arm-eabi, just to be thorough.  As
expected it had no effect since I was using GCC.  I've checked it in.

-- 
Daniel Jacobowitz
CodeSourcery

2007-10-11  Daniel Jacobowitz  <dan@codesourcery.com>

	* dbxread.c (process_one_symbol): Remove VARIABLES_INSIDE_BLOCK
	checks.
	* config/arm/embed.mt, config/arm/linux.mt, config/arm/wince.mt: Do
	not set DEPRECATED_TM_FILE.
	* config/arm/tm-arm.h: Delete file.

2007-10-11  Daniel Jacobowitz  <dan@codesourcery.com>

	* gdbint.texinfo (Target Conditionals): Remove VARIABLES_INSIDE_BLOCK.

Index: dbxread.c
===================================================================
RCS file: /cvs/src/src/gdb/dbxread.c,v
retrieving revision 1.87
diff -u -p -r1.87 dbxread.c
--- dbxread.c	21 Sep 2007 18:01:23 -0000	1.87
+++ dbxread.c	11 Oct 2007 18:55:50 -0000
@@ -2794,38 +2794,19 @@ process_one_symbol (int type, int desc, 
       if (desc != new->depth)
 	lbrac_mismatch_complaint (symnum);
 
-      /* Some compilers put the variable decls inside of an
-         LBRAC/RBRAC block.  This macro should be nonzero if this is
-         true.  DESC is N_DESC from the N_RBRAC symbol.  GCC_P is true
-         if we've detected the GCC_COMPILED_SYMBOL or the
-         GCC2_COMPILED_SYMBOL.  */
-#if !defined (VARIABLES_INSIDE_BLOCK)
-#define VARIABLES_INSIDE_BLOCK(desc, gcc_p) 0
-#endif
-
-      /* Can only use new->locals as local symbols here if we're in
-         GCC or on a machine that puts them before the lbrack.  */
-      if (!VARIABLES_INSIDE_BLOCK (desc, processing_gcc_compilation))
+      if (local_symbols != NULL)
 	{
-	  if (local_symbols != NULL)
-	    {
-	      /* GCC development snapshots from March to December of
-		 2000 would output N_LSYM entries after N_LBRAC
-		 entries.  As a consequence, these symbols are simply
-		 discarded.  Complain if this is the case.  Note that
-		 there are some compilers which legitimately put local
-		 symbols within an LBRAC/RBRAC block; this complaint
-		 might also help sort out problems in which
-		 VARIABLES_INSIDE_BLOCK is incorrectly defined.  */
-	      complaint (&symfile_complaints, _("\
+	  /* GCC development snapshots from March to December of
+	     2000 would output N_LSYM entries after N_LBRAC
+	     entries.  As a consequence, these symbols are simply
+	     discarded.  Complain if this is the case.  */
+	  complaint (&symfile_complaints, _("\
 misplaced N_LBRAC entry; discarding local symbols which have \
 no enclosing block"));
-	    }
-	  local_symbols = new->locals;
 	}
+      local_symbols = new->locals;
 
-      if (context_stack_depth
-	  > !VARIABLES_INSIDE_BLOCK (desc, processing_gcc_compilation))
+      if (context_stack_depth > 1)
 	{
 	  /* This is not the outermost LBRAC...RBRAC pair in the
 	     function, its local symbols preceded it, and are the ones
@@ -2858,9 +2839,6 @@ no enclosing block"));
 	  within_function = 0;
 	}
 
-      if (VARIABLES_INSIDE_BLOCK (desc, processing_gcc_compilation))
-	/* Now pop locals of block just finished.  */
-	local_symbols = new->locals;
       break;
 
     case N_FN:
Index: config/arm/embed.mt
===================================================================
RCS file: /cvs/src/src/gdb/config/arm/embed.mt,v
retrieving revision 1.5
diff -u -p -r1.5 embed.mt
--- config/arm/embed.mt	16 May 2007 15:31:12 -0000	1.5
+++ config/arm/embed.mt	11 Oct 2007 18:55:50 -0000
@@ -1,6 +1,5 @@
 # Target: ARM embedded system
 TDEPFILES= arm-tdep.o
-DEPRECATED_TM_FILE= tm-arm.h
 
 SIM_OBS = remote-sim.o
 SIM = ../sim/arm/libsim.a
Index: config/arm/linux.mt
===================================================================
RCS file: /cvs/src/src/gdb/config/arm/linux.mt,v
retrieving revision 1.11
diff -u -p -r1.11 linux.mt
--- config/arm/linux.mt	28 Nov 2006 21:41:02 -0000	1.11
+++ config/arm/linux.mt	11 Oct 2007 18:55:50 -0000
@@ -1,5 +1,4 @@
 # Target: ARM based machine running GNU/Linux
-DEPRECATED_TM_FILE= tm-arm.h
 TDEPFILES= arm-tdep.o arm-linux-tdep.o glibc-tdep.o solib.o \
   solib-svr4.o solib-legacy.o symfile-mem.o \
   corelow.o
Index: config/arm/tm-arm.h
===================================================================
RCS file: config/arm/tm-arm.h
diff -N config/arm/tm-arm.h
--- config/arm/tm-arm.h	23 Aug 2007 18:08:47 -0000	1.36
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-/* Definitions to target GDB to ARM targets.
-   Copyright 1986, 1987, 1988, 1989, 1991, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000, 2001, 2002, 2007 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program 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 of the License, or
-   (at your option) any later version.
-
-   This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#ifndef TM_ARM_H
-#define TM_ARM_H
-
-/* Specify that for the native compiler variables for a particular
-   lexical context are listed after the beginning LBRAC instead of
-   before in the executables list of symbols.  */
-#define VARIABLES_INSIDE_BLOCK(desc, gcc_p) (!(gcc_p))
-
-#endif /* TM_ARM_H */
Index: config/arm/wince.mt
===================================================================
RCS file: /cvs/src/src/gdb/config/arm/wince.mt,v
retrieving revision 1.5
diff -u -p -r1.5 wince.mt
--- config/arm/wince.mt	31 Jul 2007 13:50:11 -0000	1.5
+++ config/arm/wince.mt	11 Oct 2007 18:55:50 -0000
@@ -1,4 +1,3 @@
 # Target: ARM based machine running Windows CE (win32)
-DEPRECATED_TM_FILE= tm-arm.h
 TDEPFILES= arm-tdep.o arm-wince-tdep.o corelow.o \
   solib.o solib-target.o
Index: doc/gdbint.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdbint.texinfo,v
retrieving revision 1.267
diff -u -p -r1.267 gdbint.texinfo
--- doc/gdbint.texinfo	1 Oct 2007 00:17:58 -0000	1.267
+++ doc/gdbint.texinfo	11 Oct 2007 18:55:51 -0000
@@ -4178,15 +4178,6 @@ This method has been deprecated in favou
 Convert a value of type @var{type} into the raw contents of a register.
 @xref{Target Architecture Definition, , Using Different Register and Memory Data Representations}.
 
-@item VARIABLES_INSIDE_BLOCK (@var{desc}, @var{gcc_p})
-@findex VARIABLES_INSIDE_BLOCK
-For dbx-style debugging information, if the compiler puts variable
-declarations inside LBRAC/RBRAC blocks, this should be defined to be
-nonzero.  @var{desc} is the value of @code{n_desc} from the
-@code{N_RBRAC} symbol, and @var{gcc_p} is true if @value{GDBN} has noticed the
-presence of either the @code{GCC_COMPILED_SYMBOL} or the
-@code{GCC2_COMPILED_SYMBOL}.  By default, this is 0.
-
 @end table
 
 Motorola M68K target conditionals.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [rfc/rft] [1/3] Remove stabs target macros:         VARIABLES_INSIDE_BLOCK
  2007-10-11 19:08     ` Daniel Jacobowitz
@ 2007-10-11 19:48       ` Ulrich Weigand
  0 siblings, 0 replies; 8+ messages in thread
From: Ulrich Weigand @ 2007-10-11 19:48 UTC (permalink / raw)
  To: Daniel Jacobowitz; +Cc: gdb-patches

Daniel Jacobowitz wrote:
> On Mon, Oct 08, 2007 at 01:34:04PM +0200, Ulrich Weigand wrote:
> > Just removing it would certainly be fine with me; should we do that?
> 
> I tested this patch with stabs on arm-eabi, just to be thorough.  As
> expected it had no effect since I was using GCC.  I've checked it in.

Thanks!

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2007-10-11 19:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-05 18:05 [rfc/rft] [1/3] Remove stabs target macros: VARIABLES_INSIDE_BLOCK Ulrich Weigand
2007-10-05 18:12 ` Daniel Jacobowitz
2007-10-08 11:34   ` Ulrich Weigand
2007-10-11 19:08     ` Daniel Jacobowitz
2007-10-11 19:48       ` Ulrich Weigand
2007-10-06  7:07 ` Eli Zaretskii
2007-10-06  7:44   ` Eli Zaretskii
2007-10-08 11:09     ` Ulrich Weigand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox