This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[commit] [patch 07/12] entryval#3: Display @entry parameters
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Sun, 9 Oct 2011 21:34:47 +0200
- Subject: [commit] [patch 07/12] entryval#3: Display @entry parameters
- References: <20110929195159.GH26579@host1.jankratochvil.net>
On Thu, 29 Sep 2011 21:51:59 +0200, Jan Kratochvil wrote:
> gdb/
> 2011-09-13 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> Display @entry parameter values (without references).
> * dwarf2expr.c (dwarf_block_to_fb_offset, dwarf_block_to_sp_offset):
> New functions.
> * dwarf2expr.h (dwarf_block_to_fb_offset, dwarf_block_to_sp_offset):
> New declarations.
> * dwarf2loc.c (dwarf2_find_location_expression): Support location list
> entry record.
> (dwarf_entry_parameter_to_value, value_of_dwarf_reg_entry)
> (value_of_dwarf_block_entry, locexpr_read_variable_at_entry): New
> functions.
> (dwarf2_locexpr_funcs): Install locexpr_read_variable_at_entry.
> (loclist_read_variable_at_entry): New function.
> (dwarf2_loclist_funcs): Install loclist_read_variable_at_entry.
> * dwarf2read.c (read_call_site_scope): Support also DW_OP_fbreg in
> DW_AT_location, call dwarf_block_to_sp_offset for it.
> * frame.h (print_entry_values_no, print_entry_values_only)
> (print_entry_values_preferred, print_entry_values_if_needed)
> (print_entry_values_both, print_entry_values_compact)
> (print_entry_values_default, print_entry_values): New declarations.
> (struct frame_arg): New field entry_kind.
> (read_frame_arg): New parameter entryargp.
> * mi/mi-cmd-stack.c (list_arg_or_local): New gdb_assert for
> arg->entry_kind. Optionally print the `@entry' suffix.
> (list_args_or_locals): New variable entryarg, initialize it.
> Initialize also entry_kind of arg and entryarg. Conditionalize
> list_arg_or_local for arg, add list_arg_or_local for entryarg. Call
> xfree for entryarg.error.
> * stack.c (print_entry_values_no, print_entry_values_only)
> (print_entry_values_preferred, print_entry_values_if_needed)
> (print_entry_values_both, print_entry_values_compact)
> (print_entry_values_default, print_entry_values_choices)
> (print_entry_values): New variables.
> (print_frame_arg): New gdb_assert for arg->entry_kind. Optionally
> print the `@entry' suffix, possibly in combination for
> print_entry_values_compact.
> (read_frame_arg): New parameter entryargp, new variables entryval,
> entryval_error and val_equal. Read in also entryargp, respect
> print_entry_values, compare the values using val_equal, fill in also
> argp->entry_kind (together with entryargp->entry_kind).
> (print_frame_args): New variable entryarg, initialize it.
> Conditionalize print_frame_arg for arg, add print_frame_arg for
> entryarg. Call xfree for entryarg.error.
> (_initialize_stack): Call add_setshow_enum_cmd for `entry-values'.
> * symtab.h (struct symbol_computed_ops): New field
> read_variable_at_entry.
>
> gdb/doc/
> 2011-09-19 Jan Kratochvil <jan.kratochvil@redhat.com>
> Eli Zaretskii <eliz@gnu.org>
>
> * gdb.texinfo (Tail Call Frames): Add anchor. Add self tail call
> example.
> (Print Settings): New description of set print entry-values and show
> print entry-values.
>
> gdb/testsuite/
> 2011-09-13 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> Display @entry parameter values (without references).
> * gdb.arch/amd64-entry-value.cc (locexpr, stacktest, data, data2)
> (different, validity, invalid): New functions.
> (main): Call them.
> * gdb.arch/amd64-entry-value.exp: New breakpoints breakhere_locexpr,
> stacktest, breakhere_stacktest, different, breakhere_different,
> breakhere_validity and breakhere_invalid.
> (entry: bt): Update for @entry.
> (entry_locexpr: *, entry_stack: *, entry_equal: *, entry_different: *)
> (entry_validity: *, entry_invalid: *): Many new tests.
> * gdb.base/break.exp
> (run until breakpoint set at small function, optimized file): Accept
> also the @entry suffix.
> * gdb.mi/Makefile.in (PROGS): Add mi2-amd64-entry-value.
> * gdb.mi/mi2-amd64-entry-value.c: New files.
> * gdb.mi/mi2-amd64-entry-value.exp: New files.
Checked in:
http://sourceware.org/ml/gdb-cvs/2011-10/msg00062.html
Thanks,
Jan