From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2809 invoked by alias); 27 May 2008 18:17:27 -0000 Received: (qmail 2790 invoked by uid 22791); 27 May 2008 18:17:22 -0000 X-Spam-Check-By: sourceware.org Received: from mtagate8.de.ibm.com (HELO mtagate8.de.ibm.com) (195.212.29.157) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 27 May 2008 18:17:00 +0000 Received: from d12nrmr1607.megacenter.de.ibm.com (d12nrmr1607.megacenter.de.ibm.com [9.149.167.49]) by mtagate8.de.ibm.com (8.13.8/8.13.8) with ESMTP id m4RIGP0P387356 for ; Tue, 27 May 2008 18:16:25 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 m4RIGP443903590 for ; Tue, 27 May 2008 20:16:25 +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 m4RIGPMl022563 for ; Tue, 27 May 2008 20:16:25 +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 m4RIGO4D022560; Tue, 27 May 2008 20:16:24 +0200 Message-Id: <200805271816.m4RIGO4D022560@d12av02.megacenter.de.ibm.com> Received: by tuxmaker.boeblingen.de.ibm.com (sSMTP sendmail emulation); Tue, 27 May 2008 20:16:24 +0200 Subject: Re: Fix frame-args.exp failure To: schwab@suse.de (Andreas Schwab) Date: Tue, 27 May 2008 19:11:00 -0000 From: "Ulrich Weigand" Cc: gdb-patches@sourceware.org In-Reply-To: from "Andreas Schwab" at May 25, 2008 11:51:20 PM 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/msg00711.txt.bz2 Andreas Schwab wrote: > Daniel Jacobowitz writes: > > Wouldn't this make any optimized-out locals be treated like frame > > arguments? And also see print_frame_arg_vars. I thought there was an > > "is an argument" flag on variables nowadays but it doesn't look like > > it. > > How about this instead? Tested on ppc-linux. Did you get a chance to test with non-DWARF-2 debug info as well (at least stabs would be nice to test)? > 2008-05-25 Andreas Schwab > > * symtab.h (enum address_class): Remove LOC_REGPARM and > LOC_COMPUTED_ARG. > (struct symbol): Add is_argument. > (SYMBOL_IS_ARGUMENT): Define. > > * ada-lang.c (ada_add_block_symbols): Use SYMBOL_IS_ARGUMENT. > * buildsym.c (finish_block): Likewise. > * stack.c (print_frame_args, print_block_frame_locals) > (print_frame_arg_vars): Likewise. > * symtab.c (lookup_block_symbol): Likewise. > * tracepoint.c (add_local_symbols): Likewise. > * mi/mi-cmd-stack.c (list_args_or_locals): Likewise. > > * coffread.c (process_coff_symbol): Set SYMBOL_IS_ARGUMENT. > * dwarf2read.c (new_symbol): Likewise. > * mdebugread.c (parse_symbol): Likewise. > * stabsread.c (define_symbol): Likewise. > > * ada-exp.y (select_possible_type_sym): Don't handle LOC_REGPARM > and LOC_COMPUTED_ARG. > * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise. > * ax-gdb.c (gen_var_ref): Likewise. > * eval.c (evaluate_subexp_for_address): Likewise. > * findvar.c (symbol_read_needs_frame, read_var_value): Likewise. > * m2-exp.y (yylex): Likewise. > * printcmd.c (address_info): Likewise. > * symmisc.c (print_symbol, print_partial_symbols): Likewise. > * tracepoint.c (collect_symbol, scope_info): Likewise. > > testsuite/: > * gdb.base/frame-args.exp: Handle arguments that are optimized > out. Otherwise, this looks good to me, except ... > Index: gdb/objc-exp.y > =================================================================== > RCS file: /cvs/src/src/gdb/objc-exp.y,v > retrieving revision 1.30 > diff -u -a -p -r1.30 objc-exp.y > --- gdb/objc-exp.y 19 May 2008 15:50:09 -0000 1.30 > +++ gdb/objc-exp.y 25 May 2008 20:53:31 -0000 > @@ -338,7 +338,7 @@ exp : '[' TYPENAME > error ("%s is not an ObjC Class", > copy_name ($2.stoken)); > write_exp_elt_opcode (OP_LONG); > - write_exp_elt_type (builtin_type_int); > + write_exp_elt_type (builtin_type_void_data_ptr); > write_exp_elt_longcst ((LONGEST) class); > write_exp_elt_opcode (OP_LONG); > start_msglist(); > @@ -353,7 +353,7 @@ exp : '[' TYPENAME > exp : '[' CLASSNAME > { > write_exp_elt_opcode (OP_LONG); > - write_exp_elt_type (builtin_type_int); > + write_exp_elt_type (builtin_type_void_data_ptr); > write_exp_elt_longcst ((LONGEST) $2.class); > write_exp_elt_opcode (OP_LONG); > start_msglist(); > Index: gdb/parser-defs.h > =================================================================== > RCS file: /cvs/src/src/gdb/parser-defs.h,v > retrieving revision 1.26 > diff -u -a -p -r1.26 parser-defs.h > --- gdb/parser-defs.h 1 Jan 2008 22:53:12 -0000 1.26 > +++ gdb/parser-defs.h 25 May 2008 20:53:31 -0000 > @@ -83,7 +83,7 @@ struct objc_class_str > { > struct stoken stoken; > struct type *type; > - int class; > + CORE_ADDR class; > }; > > ... these, which appear to be unrelated changes? Thanks, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE Ulrich.Weigand@de.ibm.com