From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7820 invoked by alias); 19 May 2008 16:53:25 -0000 Received: (qmail 7810 invoked by uid 22791); 19 May 2008 16:53:23 -0000 X-Spam-Check-By: sourceware.org Received: from mtagate7.de.ibm.com (HELO mtagate7.de.ibm.com) (195.212.29.156) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 19 May 2008 16:53:00 +0000 Received: from d12nrmr1607.megacenter.de.ibm.com (d12nrmr1607.megacenter.de.ibm.com [9.149.167.49]) by mtagate7.de.ibm.com (8.13.8/8.13.8) with ESMTP id m4JGqLOk064876 for ; Mon, 19 May 2008 16:52:21 GMT Received: from d12av02.megacenter.de.ibm.com (d12av02.megacenter.de.ibm.com [9.149.165.228]) by d12nrmr1607.megacenter.de.ibm.com (8.13.8/8.13.8/NCO v8.7) with ESMTP id m4JGqLIa3829840 for ; Mon, 19 May 2008 18:52:21 +0200 Received: from d12av02.megacenter.de.ibm.com (loopback [127.0.0.1]) by d12av02.megacenter.de.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id m4JGqL6T015801 for ; Mon, 19 May 2008 18:52:21 +0200 Received: from tuxmaker.boeblingen.de.ibm.com (tuxmaker.boeblingen.de.ibm.com [9.152.85.9]) by d12av02.megacenter.de.ibm.com (8.12.11.20060308/8.12.11) with SMTP id m4JGqLwR015798 for ; Mon, 19 May 2008 18:52:21 +0200 Message-Id: <200805191652.m4JGqLwR015798@d12av02.megacenter.de.ibm.com> Received: by tuxmaker.boeblingen.de.ibm.com (sSMTP sendmail emulation); Mon, 19 May 2008 18:52:21 +0200 Subject: [rfc][2/3] Eliminate LOC_LOCAL_ARG To: gdb-patches@sourceware.org Date: Mon, 19 May 2008 18:38:00 -0000 From: "Ulrich Weigand" X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-05/txt/msg00566.txt.bz2 Hello, while looking at the address classes, I noticed that LOC_LOCAL_ARG also is not used anywhere anymore. The comment in symtab.h says it used to be used with the i960 target -- which is no longer supported by GDB. This patch therefore removes the code related to LOC_LOCAL_ARG. Any objections to removing this address class? Bye, Ulrich ChangeLog: * symtab.h (enum address_class): Remove LOC_LOCAL_ARG. * ada-exp.y (select_possible_type_sym): Do not handle LOC_LOCAL_ARG. * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise. (ada_add_block_symbols): Likewise. * ax-gdb.c (gen_var_ref): Likewise. * buildsyms.c (finish_block): Likewise. * findvar.c (symbol_read_needs_frame, read_var_value): Likewise. * m2-exp.y (yylex): Likewise. * mi/mi-cmd-stack.c (list_args_or_locals): Likewise. * printcmd.c (address_info): Likewise. * stack.c (print_frame_args, print_frame_arg_vars): Likewise. * symmisc.c (print_symbol, print_partial_symbols): Likewise. * symtab.c (lookup_block_symbol): Likewise. * tracepoint.c (collect_symbol, add_local_symbols): Likewise. (scope_info): Likewise. diff -urNp gdb-orig/gdb/ada-exp.y gdb-head/gdb/ada-exp.y --- gdb-orig/gdb/ada-exp.y 2008-05-19 17:48:16.663436000 +0200 +++ gdb-head/gdb/ada-exp.y 2008-05-19 18:08:21.836045065 +0200 @@ -1059,7 +1059,6 @@ select_possible_type_sym (struct ada_sym case LOC_REGPARM: case LOC_REGPARM_ADDR: case LOC_LOCAL: - case LOC_LOCAL_ARG: case LOC_BASEREG: case LOC_BASEREG_ARG: case LOC_COMPUTED: diff -urNp gdb-orig/gdb/ada-lang.c gdb-head/gdb/ada-lang.c --- gdb-orig/gdb/ada-lang.c 2008-05-19 17:49:26.881032000 +0200 +++ gdb-head/gdb/ada-lang.c 2008-05-19 18:06:53.960314963 +0200 @@ -2893,7 +2893,6 @@ resolve_subexp (struct expression **expp case LOC_REGPARM: case LOC_REGPARM_ADDR: case LOC_LOCAL: - case LOC_LOCAL_ARG: case LOC_BASEREG: case LOC_BASEREG_ARG: case LOC_COMPUTED: @@ -4322,7 +4321,6 @@ symtab_for_sym (struct symbol *sym) case LOC_REGPARM_ADDR: case LOC_LOCAL: case LOC_TYPEDEF: - case LOC_LOCAL_ARG: case LOC_BASEREG: case LOC_BASEREG_ARG: case LOC_COMPUTED: @@ -5222,7 +5220,6 @@ ada_add_block_symbols (struct obstack *o switch (SYMBOL_CLASS (sym)) { case LOC_ARG: - case LOC_LOCAL_ARG: case LOC_REF_ARG: case LOC_REGPARM: case LOC_REGPARM_ADDR: @@ -5256,7 +5253,6 @@ ada_add_block_symbols (struct obstack *o switch (SYMBOL_CLASS (sym)) { case LOC_ARG: - case LOC_LOCAL_ARG: case LOC_REF_ARG: case LOC_REGPARM: case LOC_REGPARM_ADDR: @@ -5312,7 +5308,6 @@ ada_add_block_symbols (struct obstack *o switch (SYMBOL_CLASS (sym)) { case LOC_ARG: - case LOC_LOCAL_ARG: case LOC_REF_ARG: case LOC_REGPARM: case LOC_REGPARM_ADDR: diff -urNp gdb-orig/gdb/ax-gdb.c gdb-head/gdb/ax-gdb.c --- gdb-orig/gdb/ax-gdb.c 2008-02-05 16:54:34.000000000 +0100 +++ gdb-head/gdb/ax-gdb.c 2008-05-19 18:07:54.734798488 +0200 @@ -564,7 +564,6 @@ gen_var_ref (struct agent_expr *ax, stru break; case LOC_LOCAL: /* var lives in locals area of frame */ - case LOC_LOCAL_ARG: gen_frame_locals_address (ax); gen_sym_offset (ax, var); value->kind = axs_lvalue_memory; diff -urNp gdb-orig/gdb/buildsym.c gdb-head/gdb/buildsym.c --- gdb-orig/gdb/buildsym.c 2008-05-19 18:08:43.618253079 +0200 +++ gdb-head/gdb/buildsym.c 2008-05-19 18:05:56.483757927 +0200 @@ -290,7 +290,6 @@ finish_block (struct symbol *symbol, str case LOC_REGPARM: case LOC_REGPARM_ADDR: case LOC_BASEREG_ARG: - case LOC_LOCAL_ARG: case LOC_COMPUTED_ARG: nparams++; break; @@ -330,7 +329,6 @@ finish_block (struct symbol *symbol, str case LOC_REGPARM: case LOC_REGPARM_ADDR: case LOC_BASEREG_ARG: - case LOC_LOCAL_ARG: case LOC_COMPUTED_ARG: TYPE_FIELD_TYPE (ftype, iparams) = SYMBOL_TYPE (sym); TYPE_FIELD_ARTIFICIAL (ftype, iparams) = 0; diff -urNp gdb-orig/gdb/findvar.c gdb-head/gdb/findvar.c --- gdb-orig/gdb/findvar.c 2008-05-19 18:08:43.624252221 +0200 +++ gdb-head/gdb/findvar.c 2008-05-19 18:04:56.565285399 +0200 @@ -359,7 +359,6 @@ symbol_read_needs_frame (struct symbol * case LOC_REGPARM: case LOC_REGPARM_ADDR: case LOC_LOCAL: - case LOC_LOCAL_ARG: case LOC_BASEREG: case LOC_BASEREG_ARG: return 1; @@ -480,7 +479,6 @@ read_var_value (struct symbol *var, stru } case LOC_LOCAL: - case LOC_LOCAL_ARG: if (frame == NULL) return 0; addr = get_frame_locals_address (frame); diff -urNp gdb-orig/gdb/m2-exp.y gdb-head/gdb/m2-exp.y --- gdb-orig/gdb/m2-exp.y 2008-05-19 17:49:26.968020000 +0200 +++ gdb-head/gdb/m2-exp.y 2008-05-19 18:07:37.260637199 +0200 @@ -1044,7 +1044,6 @@ yylex () case LOC_REGPARM: case LOC_REGPARM_ADDR: case LOC_LOCAL: - case LOC_LOCAL_ARG: case LOC_BASEREG: case LOC_BASEREG_ARG: case LOC_CONST: diff -urNp gdb-orig/gdb/mi/mi-cmd-stack.c gdb-head/gdb/mi/mi-cmd-stack.c --- gdb-orig/gdb/mi/mi-cmd-stack.c 2008-05-19 17:49:26.986017000 +0200 +++ gdb-head/gdb/mi/mi-cmd-stack.c 2008-05-19 18:04:38.771037711 +0200 @@ -254,7 +254,6 @@ list_args_or_locals (int locals, int val case LOC_REF_ARG: /* reference arg */ case LOC_REGPARM: /* register arg */ case LOC_REGPARM_ADDR: /* indirect register arg */ - case LOC_LOCAL_ARG: /* stack arg */ case LOC_BASEREG_ARG: /* basereg arg */ case LOC_COMPUTED_ARG: /* arg with computed location */ if (!locals) diff -urNp gdb-orig/gdb/printcmd.c gdb-head/gdb/printcmd.c --- gdb-orig/gdb/printcmd.c 2008-05-19 18:08:43.639250076 +0200 +++ gdb-head/gdb/printcmd.c 2008-05-19 18:08:07.303995134 +0200 @@ -1164,10 +1164,6 @@ address_info (char *exp, int from_tty) printf_filtered (_("an argument at offset %ld"), val); break; - case LOC_LOCAL_ARG: - printf_filtered (_("an argument at frame offset %ld"), val); - break; - case LOC_LOCAL: printf_filtered (_("a local variable at frame offset %ld"), val); break; diff -urNp gdb-orig/gdb/stack.c gdb-head/gdb/stack.c --- gdb-orig/gdb/stack.c 2008-05-19 17:49:27.049142000 +0200 +++ gdb-head/gdb/stack.c 2008-05-19 18:05:25.542528676 +0200 @@ -264,7 +264,6 @@ print_frame_args (struct symbol *func, s keep track of stack offsets in them. */ case LOC_REGPARM: case LOC_REGPARM_ADDR: - case LOC_LOCAL_ARG: case LOC_BASEREG_ARG: case LOC_COMPUTED_ARG: break; @@ -1577,7 +1576,6 @@ print_frame_arg_vars (struct frame_info switch (SYMBOL_CLASS (sym)) { case LOC_ARG: - case LOC_LOCAL_ARG: case LOC_REF_ARG: case LOC_REGPARM: case LOC_REGPARM_ADDR: diff -urNp gdb-orig/gdb/symmisc.c gdb-head/gdb/symmisc.c --- gdb-orig/gdb/symmisc.c 2008-05-19 18:08:43.681244070 +0200 +++ gdb-head/gdb/symmisc.c 2008-05-19 18:05:43.901695679 +0200 @@ -651,11 +651,6 @@ print_symbol (void *args) SYMBOL_VALUE (symbol)); break; - case LOC_LOCAL_ARG: - fprintf_filtered (outfile, "arg at offset 0x%lx from fp", - SYMBOL_VALUE (symbol)); - break; - case LOC_REF_ARG: fprintf_filtered (outfile, "reference arg at 0x%lx", SYMBOL_VALUE (symbol)); break; @@ -856,9 +851,6 @@ print_partial_symbols (struct partial_sy case LOC_CONST_BYTES: fputs_filtered ("constant bytes", outfile); break; - case LOC_LOCAL_ARG: - fputs_filtered ("shuffled arg", outfile); - break; case LOC_UNRESOLVED: fputs_filtered ("unresolved", outfile); break; diff -urNp gdb-orig/gdb/symtab.c gdb-head/gdb/symtab.c --- gdb-orig/gdb/symtab.c 2008-05-19 18:08:43.693242355 +0200 +++ gdb-head/gdb/symtab.c 2008-05-19 18:06:16.456959660 +0200 @@ -1958,7 +1958,6 @@ lookup_block_symbol (const struct block { sym_found = sym; if (SYMBOL_CLASS (sym) != LOC_ARG && - SYMBOL_CLASS (sym) != LOC_LOCAL_ARG && SYMBOL_CLASS (sym) != LOC_REF_ARG && SYMBOL_CLASS (sym) != LOC_REGPARM && SYMBOL_CLASS (sym) != LOC_REGPARM_ADDR && diff -urNp gdb-orig/gdb/symtab.h gdb-head/gdb/symtab.h --- gdb-orig/gdb/symtab.h 2008-05-19 18:08:43.718238780 +0200 +++ gdb-head/gdb/symtab.h 2008-05-19 18:06:31.838153706 +0200 @@ -485,14 +485,6 @@ enum address_class LOC_CONST_BYTES, - /* Value is arg at SYMBOL_VALUE offset in stack frame. Differs from - LOC_LOCAL in that symbol is an argument; differs from LOC_ARG in - that we find it in the frame (get_frame_locals_address), not in - the arglist (get_frame_args_address). Added for i960, which - passes args in regs then copies to frame. */ - - LOC_LOCAL_ARG, - /* Value is at SYMBOL_VALUE offset from the current value of register number SYMBOL_BASEREG. This exists mainly for the same things that LOC_LOCAL and LOC_ARG do; but we need to do this diff -urNp gdb-orig/gdb/tracepoint.c gdb-head/gdb/tracepoint.c --- gdb-orig/gdb/tracepoint.c 2008-05-19 18:08:43.730237064 +0200 +++ gdb-head/gdb/tracepoint.c 2008-05-19 18:07:27.487572931 +0200 @@ -1279,7 +1279,6 @@ collect_symbol (struct collection_list * add_memrange (collect, reg, offset, len); break; case LOC_LOCAL: - case LOC_LOCAL_ARG: reg = frame_regno; offset = frame_offset + SYMBOL_VALUE (sym); if (info_verbose) @@ -1348,7 +1347,6 @@ add_local_symbols (struct collection_lis } break; case LOC_ARG: - case LOC_LOCAL_ARG: case LOC_REF_ARG: case LOC_REGPARM: case LOC_REGPARM_ADDR: @@ -2461,7 +2459,6 @@ scope_info (char *args, int from_tty) (current_gdbarch, SYMBOL_VALUE (sym))); break; case LOC_ARG: - case LOC_LOCAL_ARG: printf_filtered ("an argument at stack/frame offset %ld", SYMBOL_VALUE (sym)); break; -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE Ulrich.Weigand@de.ibm.com