e18b27534c
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/ Display @entry parameter values (without references). * 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/ 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.
29 lines
1.1 KiB
Makefile
29 lines
1.1 KiB
Makefile
VPATH = @srcdir@
|
|
srcdir = @srcdir@
|
|
|
|
PROGS = basics c_variable cpp_variable var-cmd dw2-ref-missing-frame \
|
|
gdb669-pthreads gdb701 gdb792 mi-async mi-basics mi-break \
|
|
mi-cli mi-console mi-disassemble mi-eval mi-file \
|
|
mi-file-transfer mi-non-stop mi-non-stop-exit \
|
|
mi-ns-stale-regcache mi-nsintrall mi-nsmoribund mi-nsthrexec \
|
|
mi-pending mi-pthreads mi-read-memory mi-regs mi-return \
|
|
mi-reverse mi-simplerun mi-stack mi-stepi mi-syn-frame \
|
|
mi-var-block mi-var-child mi-var-cmd mi-var-cp mi-var-display \
|
|
mi-var-invalidate mi-var-invalidate_bis mi-watch \
|
|
mi2-amd64-entry-value mi2-basics \
|
|
mi2-break mi2-cli mi2-disassemble mi2-eval mi2-file \
|
|
mi2-pthreads mi2-regs mi2-return mi2-simplerun mi2-stepi \
|
|
mi2-var-block mi2-var-child mi2-var-cmd mi2-var-display \
|
|
mi2-watch until
|
|
|
|
MISCELLANEOUS = mi-pendshr.sl
|
|
|
|
all info install-info dvi install uninstall installcheck check:
|
|
@echo "Nothing to be done for $@..."
|
|
|
|
clean mostlyclean:
|
|
-rm -f *.ci *.o $(OBJS) $(PROGS) *~ core
|
|
-rm -f $(MISCELLANEOUS)
|
|
|
|
distclean maintainer-clean realclean: clean
|
|
-rm -f Makefile config.status config.log gdb.log gdb.sum
|