Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Ulrich Weigand" <uweigand@de.ibm.com>
To: schwab@suse.de (Andreas Schwab)
Cc: gdb-patches@sourceware.org
Subject: Re: Fix frame-args.exp failure
Date: Tue, 27 May 2008 19:11:00 -0000	[thread overview]
Message-ID: <200805271816.m4RIGO4D022560@d12av02.megacenter.de.ibm.com> (raw)
In-Reply-To: <je1w3qnjc7.fsf@sykes.suse.de> from "Andreas Schwab" at May 25, 2008 11:51:20 PM

Andreas Schwab wrote:

> Daniel Jacobowitz <drow@false.org> 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  <schwab@suse.de>
> 
> 	* 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


  reply	other threads:[~2008-05-27 18:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-22 21:26 Andreas Schwab
2008-05-22 21:51 ` Daniel Jacobowitz
2008-05-23  3:05   ` Andreas Schwab
2008-05-27 18:37   ` Andreas Schwab
2008-05-27 19:11     ` Ulrich Weigand [this message]
2008-05-27 20:06       ` Daniel Jacobowitz
2008-05-29 20:45         ` Ulrich Weigand
2008-05-29 21:33           ` Daniel Jacobowitz
2008-05-28 14:09       ` Andreas Schwab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200805271816.m4RIGO4D022560@d12av02.megacenter.de.ibm.com \
    --to=uweigand@de.ibm.com \
    --cc=gdb-patches@sourceware.org \
    --cc=schwab@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox