Age | Commit message (Collapse) | Author | Files | Lines |
|
* value.c (value_static_field): Constify.
* gdbtypes.h (struct main_type) <field.field_location.physname>:
Now const.
* ax-gdb.c (gen_static_field): Constify
|
|
2011-02-21 Hui Zhu <teawater@gmail.com>
* Makefile.in (HFILES_NO_SRCDIR): Add printcmd.h.
* ax-gdb.c (gen_printf_expr_callback): New function.
* ax-gdb.h (gen_printf_expr_callback): Forward declare.
* ax-general.c (ax_memcpy): New function.
(ax_print): Handle "printf".
(ax_reqs): Ditto.
* ax.h (ax_memcpy): Forward declare.
* common/ax.def (invalid2): Removed.
(printf): New entry.
* printcmd.c (printcmd.h): New include.
(string_printf): New function.
(ui_printf): Removed.
(printf_command): Remove static. Call string_printf.
(eval_command): Call string_printf.
* printcmd.h: New file.
* tracepoint.c (validate_actionline,
encode_actions_1): handle printf_command.
|
|
* Makefile.in (HFILES_NO_SRCDIR): Add printcmd.h.
* ax-gdb.c (gen_printf_expr_callback): New function.
* ax-gdb.h (gen_printf_expr_callback): Forward declare.
* ax-general.c (ax_memcpy): New function.
(ax_print): Handle "printf".
(ax_reqs): Ditto.
* ax.h (ax_memcpy): Forward declare.
* common/ax.def (invalid2): Removed.
(printf): New entry.
* printcmd.c (printcmd.h): New include.
(string_printf): New function.
(ui_printf): Removed.
(printf_command): Remove static. Call string_printf.
(eval_command): Call string_printf.
* printcmd.h: New file.
* tracepoint.c (validate_actionline,
encode_actions_1): handle printf_command.
|
|
gdb/
* ax-gdb.c.c (gen_expr) <UNOP_MEMVAL>: Handle value kinds other
than axs_rvalue.
2011-02-16 Pedro Alves <pedro@codesourcery.com>
gdb/testsuite/
* collection.c (globalarr3): New global.
(main): Initialize it before collecting, and and clear it
afterwards.
* collection.exp (gdb_collect_globals_test): Test collecting with
'{type} addr', where the addr expression is not an rvalue.
|
|
* ax-gdb.c: Adjust some long output strings.
* breakpoint.c: Ditto.
* charset.c: Ditto.
* cp-abi.c: Ditto.
* infcall.c: Ditto.
* infrun.c: Ditto.
* linux-nat.c: Ditto.
* solib-pa64.c: Ditto.
* solib-som.c: Ditto.
|
|
* addrmap.c: Shorten lines of >= 80 columns.
* arch-utils.c: Ditto.
* arch-utils.h: Ditto.
* ax-gdb.c: Ditto.
* ax-general.c: Ditto.
* bcache.c: Ditto.
* blockframe.c: Ditto.
* breakpoint.c: Ditto.
* buildsym.c: Ditto.
* c-lang.c: Ditto.
* c-typeprint.c: Ditto.
* charset.c: Ditto.
* coffread.c: Ditto.
* command.h: Ditto.
* corelow.c: Ditto.
* cp-abi.c: Ditto.
* cp-namespace.c: Ditto.
* cp-support.c: Ditto.
* dbug-rom.c: Ditto.
* dbxread.c: Ditto.
* defs.h: Ditto.
* dfp.c: Ditto.
* dfp.h: Ditto.
* dictionary.c: Ditto.
* disasm.c: Ditto.
* doublest.c: Ditto.
* dwarf2-frame.c: Ditto.
* dwarf2expr.c: Ditto.
* dwarf2loc.c: Ditto.
* dwarf2read.c: Ditto.
* elfread.c: Ditto.
* eval.c: Ditto.
* event-loop.c: Ditto.
* event-loop.h: Ditto.
* exceptions.h: Ditto.
* exec.c: Ditto.
* expprint.c: Ditto.
* expression.h: Ditto.
* f-lang.c: Ditto.
* f-valprint.c: Ditto.
* findcmd.c: Ditto.
* frame-base.c: Ditto.
* frame-unwind.c: Ditto.
* frame-unwind.h: Ditto.
* frame.c: Ditto.
* frame.h: Ditto.
* gcore.c: Ditto.
* gdb-stabs.h: Ditto.
* gdb_assert.h: Ditto.
* gdb_dirent.h: Ditto.
* gdb_obstack.h: Ditto.
* gdbcore.h: Ditto.
* gdbtypes.c: Ditto.
* gdbtypes.h: Ditto.
* inf-ttrace.c: Ditto.
* infcall.c: Ditto.
* infcmd.c: Ditto.
* inflow.c: Ditto.
* infrun.c: Ditto.
* inline-frame.h: Ditto.
* language.c: Ditto.
* language.h: Ditto.
* libunwind-frame.c: Ditto.
* libunwind-frame.h: Ditto.
* linespec.c: Ditto.
* linux-nat.c: Ditto.
* linux-nat.h: Ditto.
* linux-thread-db.c: Ditto.
* machoread.c: Ditto.
* macroexp.c: Ditto.
* macrotab.c: Ditto.
* main.c: Ditto.
* maint.c: Ditto.
* mdebugread.c: Ditto.
* memattr.c: Ditto.
* minsyms.c: Ditto.
* monitor.c: Ditto.
* monitor.h: Ditto.
* objfiles.c: Ditto.
* objfiles.h: Ditto.
* osabi.c: Ditto.
* p-typeprint.c: Ditto.
* p-valprint.c: Ditto.
* parse.c: Ditto.
* printcmd.c: Ditto.
* proc-events.c: Ditto.
* procfs.c: Ditto.
* progspace.c: Ditto.
* progspace.h: Ditto.
* psympriv.h: Ditto.
* psymtab.c: Ditto.
* record.c: Ditto.
* regcache.c: Ditto.
* regcache.h: Ditto.
* remote-fileio.c: Ditto.
* remote.c: Ditto.
* ser-mingw.c: Ditto.
* ser-tcp.c: Ditto.
* ser-unix.c: Ditto.
* serial.c: Ditto.
* serial.h: Ditto.
* solib-frv.c: Ditto.
* solib-irix.c: Ditto.
* solib-osf.c: Ditto.
* solib-pa64.c: Ditto.
* solib-som.c: Ditto.
* solib-sunos.c: Ditto.
* solib-svr4.c: Ditto.
* solib-target.c: Ditto.
* solib.c: Ditto.
* somread.c: Ditto.
* source.c: Ditto.
* stabsread.c: Ditto.
* stabsread.c: Ditto.
* stack.c: Ditto.
* stack.h: Ditto.
* symfile-mem.c: Ditto.
* symfile.c: Ditto.
* symfile.h: Ditto.
* symmisc.c: Ditto.
* symtab.c: Ditto.
* symtab.h: Ditto.
* target-descriptions.c: Ditto.
* target-memory.c: Ditto.
* target.c: Ditto.
* target.h: Ditto.
* terminal.h: Ditto.
* thread.c: Ditto.
* top.c: Ditto.
* tracepoint.c: Ditto.
* tracepoint.h: Ditto.
* ui-file.c: Ditto.
* ui-file.h: Ditto.
* ui-out.h: Ditto.
* user-regs.c: Ditto.
* user-regs.h: Ditto.
* utils.c: Ditto.
* valarith.c: Ditto.
* valops.c: Ditto.
* valprint.c: Ditto.
* valprint.h: Ditto.
* value.c: Ditto.
* varobj.c: Ditto.
* varobj.h: Ditto.
* vec.h: Ditto.
* xcoffread.c: Ditto.
* xcoffsolib.c: Ditto.
* xcoffsolib.h: Ditto.
* xml-syscall.c: Ditto.
* xml-tdesc.c: Ditto.
|
|
|
|
* annotate.c: Comment cleanup, shorten long lines.
* arch-utils.c: Ditto.
* arch-utils.h: Ditto.
* auxv.c: Ditto.
* auxv.h: Ditto.
* ax-gdb.c: Ditto.
* ax-gdb.h: Ditto.
* ax-general.c: Ditto.
* breakpoint.h: Ditto.
* buildsym.h: Ditto.
|
|
* ax-gdb.c (gen_expr): Change error message.
|
|
collect a user register.
|
|
* gdbarch.sh (ax_pseudo_register_collect,
ax_pseudo_register_push_stack): new callbacks.
(agent_expr): Forward declare.
* gdbarch.h, gdbarch.c: Regenerate.
* ax-gdb.c (gen_expr): Remove pseudo-register check code.
* ax-general.c (user-regs.h): New include.
(ax_reg): Call gdbarch_ax_pseudo_register_push_stack.
(ax_reg_mask): Call gdbarch_ax_pseudo_register_collect.
* mips-tdep.c (ax.h): New include.
(mips_ax_pseudo_register_collect,
mips_ax_pseudo_register_push_stack): New functions.
(mips_gdbarch_init): Set mips_ax_pseudo_register_collect and
mips_ax_pseudo_register_push_stack.
|
|
* ada-lang.c: White space.
* ada-typeprint.c: White space.
* ada-valprint.c: White space.
* addrmap.c: White space.
* auxv.c: White space.
* ax-gdb.c: White space.
|
|
* ax-gdb.c (gen_struct_elt_for_reference): Delete unused variables.
* tracepoint.c (delete_trace_variable_command):
Delete unused variables.
(encode_actions_1): Delete unused variables.
(start_tracing): Delete unused variable.
(trace_status_mi): Delete unused variable.
(tfind_1): Delete unused variable.
(trace_find_pc_command): Delete unused variable.
(trace_find_line_command): Delete unused variables.
(trace_find_range_command): Delete unused variables.
(trace_find_outside_command): Delete unused variables.
(parse_tracepoint_definition): Delete unused variables.
(tfile_fetch_registers): Delete unused variable.
|
|
* ax.h (struct agent_expr): Merge in agent_reqs fields, add some
comments.
(struct agent_reqs): Remove.
(ax_reg_mask): Declare.
* ax-general.c (new_agent_expr): Add gdbarch argument, set new fields.
(free_agent_expr): Free reg_mask.
(ax_print): Add scope and register mask info.
(ax_reqs): Remove agent_reqs argument, use agent expression
fields, and move part of register mask computation to...
(ax_reg_mask): New function.
* ax-gdb.c (gen_trace_static_fields): Call it.
(gen_traced_pop): Ditto.
(is_nontrivial_conversion): Add dummy gdbarch to new_agent_expr.
(gen_trace_for_var): Pass gdbarch to new_agent_expr.
(gen_trace_for_expr): Ditto, and clear optimized_out flag.
(gen_eval_for_expr): Ditto, and require an rvalue.
(agent_command): Call ax_reqs.
(agent_eval_command): Ditto.
* tracepoint.c (report_agent_reqs_errors): Use agent expression fields.
(validate_action_line): Ditto.
(collect_symbol): Ditto.
(encode_actions_1): Ditto.
|
|
Nathan Sidwell <nathan@codesourcery.com>
* dwarf2loc.c (struct axs_var_loc): New struct.
(dwarf2_tracepoint_var_loc): New function.
(dwarf2_tracepoint_var_access): New function.
(dwarf2_tracepoint_var_ref): Use dwarf2_tracepoint_var_loc, deal
with DW_OP_piece.
(locexpr_describe_location_piece): New function.
(locexpr_describe_location_1): New function.
(locexpr_describe_location): Call it, update signature.
(loclist_describe_location): Rewrite to loop over locations,
update signature.
* symtab.h (struct symbol_computed_ops): Add address to
describe_location arguments, return void.
* printcmd.c (address_info): Get context PC, pass to computed
location description.
* tracepoint.c (scope_info): Ditto.
* ax-gdb.c (trace_kludge): Export.
|
|
* ax-gdb.c (gen_fetch): Handle bool.
(gen_usual_unary): Ditto.
(gen_cast): Ditto.
(gen_equal): New function.
(gen_less): New function.
(gen_expr_binop_rest): Call them, also return integer type from
logical operations.
(gen_expr): Ditto.
* gdb.trace/ax.exp: New file.
|
|
|
|
* ax-gdb.c (require_rvalue): Disallow non-scalars.
|
|
* ax-gdb.h (struct axs_value): New field optimized_out.
(gen_trace_for_var): Add gdbarch argument.
* ax-gdb.c (gen_trace_static_fields): New function.
(gen_traced_pop): Call it, add gdbarch argument.
(gen_trace_for_expr): Update call to it.
(gen_trace_for_var): Ditto, and report optimized-out variables.
(gen_struct_ref_recursive): Check for optimized-out value.
(gen_struct_elt_for_reference): Ditto.
(gen_static_field): Pass gdbarch instead of expression, assume
optimization if field not found.
(gen_var_ref): Set the optimized_out flag.
(gen_expr): Error on optimized-out variable.
* tracepoint.c (collect_symbol): Handle struct-valued vars as
expressions, skip optimized-out variables with computed locations.
* dwarf2loc.c (dwarf2_tracepoint_var_ref): Flag instead of
erroring out if location expression missing.
(loclist_tracepoint_var_ref): Don't error out here.
|
|
|
|
* ax-gdb.c: Include cp-support.h.
(find_field): Remove.
(gen_primitive_field): New function.
(gen_struct_ref_recursive): New function.
(gen_struct_ref): Rewrite to call gen_struct_ref_recursive instead
of find_field.
(gen_static_field): New function.
(gen_struct_elt_for_reference): New.
(gen_namespace_elt): New.
(gen_maybe_namespace_elt): New.
(gen_aggregate_elt_ref): New.
(gen_expr): Add OP_SCOPE, display opcode name in error message.
|
|
* ax-gdb.c (gen_expr): Add shift expressions.
(gen_expr_binop_rest): Ditto.
|
|
Based on work from Daniel Jacobowitz <dan@codesourcery.com>
* c-typeprint.c (cp_type_print_method_args): For non-static methods,
print out const or volatile qualifiers, too.
(c_type_print_args): Add parameters show_artificial and language.
Skip artificial parameters when requested.
Use the appropriate language printer.
(c_type_print_varspec): Tell c_type_print_args to skip artificial
parameters and pass language_c.
* dwarf2read.c (die_list): New file global.
(struct partial_die_info): Update comments for name field.
(pdi_needs_namespace): Renamed to ...
(die_needs_namespace): ... this. Rewrite.
(dwarf2_linkage_name): Remove.
(add_partial_symbol): Do not predicate the call to
partial_die_full_name based on pdi_needs_namespace.
Remove call to cp_check_possible_namespace_symbols and associated
outdated comments.
(guess_structure_name): Do not inspect child subprogram DIEs.
(dwarf2_fullname): Update comments.
Use die_needs_namespace to assist in computing the name.
(read_func_scope): Use dwarf2_name to get the DIE's name.
Use dwarf2_physname to get the "linkage name" of the DIE.
(dwarf2_add_member_field): Use dwarf2_physname instead of
dwarf2_linkage_name.
(read_structure_type): For structs and classes, set TYPE_NAME, too.
(determine_class): Remove.
(read_partial_die): Ignore DW_AT_MIPS_linkage_name for all languages
except Ada.
(new_symbol): Unconditionally call dwarf2_name.
Compute the "linkage name" using dwarf2_physname.
Use dwarf2_name instead of dwarf2_full_name for enumerator DIEs.
When determining to scan for anonymous C++ namespaces, ignore
the linkage name.
(dwarf2_physname): New function.
(dwarf2_full_name): Move content to new function and call
that.
(dwarf2_compute_name): "New" function.
(_initialize_dwarf2_read): Initialize die_list.
* gnu-v3-eabi.c (gnu_v3_find_method_in): Remove unused variable
physname.
(gnu_v3_print_method_ptr): Use the physname for virtual methods
without a demangled name.
Print out type information for non-virtual methods.
* linespec.c (decode_line_1): Force ANY string using "::" (or
"." for java) to use decode_compound, and clean up any stray quoting.
If we found a file symtab, re-evaluate whether the remainder is_quoted.
(decode_compound): Stop consuming at an open parenthesis.
Keep template parameters.
Keep any overload information.
Keep keywords like "const".
Remove paren_pointer.
Move is_quoted check from set_flags to here.
Remove #if 0 code from 2000. Ten years is long enough.
(find_method): Before comparing symbol names, canonicalize the string
from the user.
If a specific overload is requested, find it. Otherwise throw an error.
(find_method_overload_end): New function.
(set_flags): Remove.
(decode_compound): Assume that parentheses are matched.
It's a lot easier.
* symtab.c (symbol_find_demangled_name): Add DMGL_VERBOSE flag
to cplus_demangle.
* linespec.c (decode_line_1): Keep important keywords like
"const" and "volatile".
* symtab.h (SYMBOL_CPLUS_DEMANGLED_NAME): Remove.
* typeprint.h (c_type_print_args): Add declaration.
* ui-file.c (do_ui_file_obsavestring): New function.
(ui_file_obsavestring): New function.
* ui-file.h (ui_file_obsavestring): Add declaration.
* valops.c (find_overload_match): Resolve the object to
a non-pointer type.
If the object is a data member, search the object for the member
and return with staticp set.
Use SYMBOL_NATURAL_NAME instead of SYMBOL_CPLUS_DEMANGLED_NAME.
Do not attempt to extract a function name from non-function types.
If the extracted function name and the original name are the same,
we don't have a C++ method.
From Jan Kratochvil <jan.kratochvil@redhat.com>:
* dwarf2read.c (new_symbol <DW_TAG_enumerator>): Call dwarf2_full_name.
* ada-lang.c (ada_lookup_symbol): Remove linkage_name parameters
and arguments from symbol lookups.
* ax-gdb.c (gen_expr): Likewise.
* cp-namespace.c (cp_lookup_symbol_nonlocal, lookup_namespace_scope,
cp_lookup_symbol_namespace, lookup_symbol_file, lookup_nested_type,
lookup_possible_namespace_symbol): Likewise.
* cp-support.c (read_in_psymtabs): Likewise.
* cp-support.h (cp_lookup_symbol_nonlocal): Likewise.
* language.h (la_lookup_symbol_nonlocal): Likewise.
* scm-valprint.c (scm_inferior_print): Likewise.
* solib-darwin.c (darwin_relocate_section_addresses): Likewise.
* solib-svr.c (elf_lookup_lib): Likewise.
* solib.c (show_auto_solib_add): Likewise.
* solist.h (lookup_lib_global, solib_global_lookup): Likewise.
* symmisc.c (maintenance_check_symtabs): Likewise.
* symtab.c (lookup_symbol_in_language, lookup_symbol_aux,
lookup_symbol_aux_local, lookup_symbol_aux_block,
lookup_symbol_from_objfile, lookup_symbol_aux_symtabs,
lookup_symbol_aux_psymtabs,basic_lookup_symbol_nonlocal,
lookup_symbol_static, lookup_symbol_global, symbol_matches_domain,
basic_lookup_transparent_type, find_main_psymtab,
lookup_block_symbol): Likewise.
* symtab.h (basic_lookp_symbol_nonlocal, lookup_symbol_static,
lookup_symbol_global, lookup_symbol_aux_block,
lookup_symbol_partial_symbol, lookup_block_symbol,
lookup_global_symbol, value_maybe_namespace_elt): Likewise.
|
|
the offset value isn't of integral type.
|
|
non-subscriptable types.
* valarith.c (binop_types_user_defined_p): New, abstracted out
from ...
(binop_user_defined_p): ... this.
* value.h (binop_types_user_defined_p): Declare.
|
|
|
|
* tracepoint.h (enum trace_stop_reason): New enum.
(struct trace_status): New struct.
(parse_trace_status): Declare.
(struct uploaded_tp): Move here from remote.c,
add fields for actions.
(struct uploaded_tsv): New struct.
* tracepoint.c (tfile_ops): New target vector.
(trace_fd): New global.
(tfile_open): New function.
(tfile_close): New function.
(tfile_files_info): New function.
(tfile_get_trace_status): New function.
(tfile_get_traceframe_address): New function.
(tfile_trace_find): New function.
(tfile_fetch_registers): New function.
(tfile_xfer_partial): New function.
(tfile_get_trace_state_variable_value): New function.
(init_tfile_ops): New function.
(_initialize_tracepoint): Call it, add tfile target.
(trace_status): New global.
(current_trace_status): New function.
(trace_running_p): Remove, change all users to get from
current_trace_status()->running.
(get_trace_status): Remove.
(trace_status_command): Call target_get_trace_status directly,
report more detail including tracing stop reasons.
(trace_find_command): Always allow tfind on a file.
(trace_find_pc_command): Ditto.
(trace_find_tracepoint_command): Ditto.
(trace_find_line_command): Ditto.
(trace_find_range_command): Ditto.
(trace_find_outside_command): Ditto.
(trace_frames_offset, cur_offset): Declare as off_t.
(trace_regblock_size): Rename from reg_size, update users.
(parse_trace_status): New function.
(tfile_interp_line): New function.
(disconnect_or_stop_tracing): Ensure current trace
status before asking what to do.
(stop_reason_names): New global.
(trace_save_command): New command.
(get_uploaded_tp): Move here from remote.c.
(find_matching_tracepoint): Ditto.
(merge_uploaded_tracepoints): New function.
(parse_trace_status): Use stop_reason_names.
(_initialize_tracepoint): Define tsave command.
* target.h (target_ops): New fields to_save_trace_data,
to_upload_tracepoints, to_upload_trace_state_variables,
to_get_raw_trace_data, change to_get_trace_status
to take a pointer to a status struct.
(target_save_trace_data): New macro.
(target_upload_tracepoints): New macro.
(target_upload_trace_state_variables): New macro.
(target_get_raw_trace_data): New macro.
* target.c (update_current_target): Add new methods, change
signature of to_get_trace_status.
* remote.c (hex2bin): Make globally visible.
(bin2hex): Ditto.
(remote_download_trace_state_variable): Download name also.
(remote_get_trace_status): Update parameter, use
parse_trace_status.
(remote_save_trace_data): New function.
(remote_upload_tracepoints): New function.
(remote_upload_trace_state_variables): New function.
(remote_get_raw_trace_data): New function.
(remote_start_remote): Use them.
(_initialize_remote_ops): Add operations.
* ax-gdb.c: Include breakpoint.h.
* breakpoint.c (create_tracepoint_from_upload): Use
break_command_really, return tracepoint, warn about unimplemented
parts.
* NEWS: Mention trace file addition.
* gdb.texinfo (Trace Files): New section.
(Tracepoint Packets): Document QTSave and qTBuffer.
(Trace File Format): New appendix.
* generic/gdbtk-bp.c (gdb_trace_status): Use current_trace_status.
* gdb.trace/tfile.c: New file.
* gdb.trace/tfile.exp: New file.
|
|
Automatic update by copyright.sh.
|
|
* ax-gdb.c: Include language.h, use pointer_type throughout
instead of testing TYPE_CODE_PTR.
(gen_fetch): Include TYPE_CODE_REF.
(gen_cast): Ditto.
|
|
conditional expressions.
|
|
Add trace state variables.
* ax.h (enum agent_op): Add getv, setv, and tracev.
(ax_tsv): Declare.
* ax-gdb.c: Include tracepoint.h.
(gen_expr): Handle BINOP_ASSIGN, BINOP_ASSIGN_MODIFY, and
OP_INTERNALVAR.
(gen_expr_binop_rest): New function, split from gen_expr.
* ax-general.c (ax_tsv): New function.
(aop_map): Add new bytecodes.
* tracepoint.h (struct trace_state_variable): New struct.
(tsv_s): New typedef.
(find_trace_state_variable): Declare.
* tracepoint.c (tvariables): New global.
(next_tsv_number): New global.
(create_trace_state_variable): New function.
(find_trace_state_variable): New function.
(delete_trace_state_variable): New function.
(trace_variable_command): New function.
(delete_trace_variable_command): New function.
(tvariables_info): New function.
(trace_start_command): Download tsvs with initial values.
(_initialize_tracepoint): Add new commands.
* NEWS: Mention the addition of trace state variables.
==> doc/ChangeLog <==
2009-12-28 Stan Shebs <stan@codesourcery.com>
* gdb.texinfo (Trace State Variables): New section.
(Tracepoint Packets): Describe trace state variable packets.
* agentexpr.texi (Bytecode Descriptions): Describe trace state
variable bytecodes.
==> testsuite/ChangeLog <==
2009-12-28 Stan Shebs <stan@codesourcery.com>
* gdb.trace/tsv.exp: New file.
* gdb.base/completion.exp: Update ambiguous info output.
|
|
the tracepoint, not of the selected frame and language.
|
|
* ax-gdb.c (gen_expr): Handle OP_THIS.
|
|
* ax-gdb.h (gen_trace_for_var): Declare.
* ax-gdb.c (gen_trace_for_var): New function.
* dwarf2loc.c (dwarf_expr_frame_base_1): New function, split from...
(dwarf_expr_frame_base): ...here.
(dwarf2_tracepoint_var_ref): Add computed location case.
* tracepoint.c (collect_symbol): Add scope arg and LOC_COMPUTED
case.
(add_local_symbols): Update call to collect_symbol.
(encode_actions): Ditto.
|
|
Conditional tracepoints.
* ax-gdb.h (gen_eval_for_expr): Declare.
* ax-gdb.c (gen_expr): Generate bytecodes for BINOP_EQUAL
and other comparisons.
(gen_eval_for_expr): New function.
(agent_eval_command): New maintenance command.
(_initialize_ax_gdb): Define the command.
* remote.c (struct remote_state): New field cond_tracepoints.
(PACKET_ConditionalTracepoints): New packet config type.
(remote_cond_tracepoint_feature): New function.
(remote_protocol_features): Add ConditionalTracepoints.
(remote_supports_cond_tracepoints): New function.
(_initialize_remote): Add ConditionalTracepoints.
* tracepoint.c (download_tracepoint): Add conditional.
* NEWS: Mention conditional tracepoints.
gdb/doc/
* gdb.texinfo (Tracepoint Conditions): New section.
(General Query Packets): Describe ConditionalTracepoints.
(Tracepoint Packets): Describe condition field.
(Maintenance Commands): Describe maint agent-eval.
* agentexpr.texi (Using Agent Expressions): Mention eval usage.
gdb/testsuite/
* gdb.trace/tracecmd.exp: Add basic test of tracepoint conditions.
|
|
instead of builtin_type_int32 type.
(ada_evaluate_subexp) [OP_ATR_SIZE]: Likewise.
* ax-gdb.c (gen_expr) [UNOP_NEG]: Use platform-specific integer type
instead of builtin_type_int8 type.
* valarith.c (value_x_unop): Likewise.
* python/python-value.c (valpy_absolute): Avoid reference to
builtin_type_int8 type.
* eval.c (evaluate_subexp_standard): Use platform-specific integer
type instead of builtin_type_int8 as EVAL_SKIP return value type.
* ada-lang.c (ada_evaluate_subexp): Likewise.
* jv-lang.c (evaluate_subexp_java): Likewise.
* m2-lang.c (evaluate_subexp_modula2): Likewise.
* scm-lang.c (evaluate_exp): Likewise.
* value.h (value_bitstring): Add INDEX_TYPE argument.
* valops.c (value_bitstring): Add INDEX_TYPE argument, use it instead
of builtin_type_int32 as base range type.
* eval.c (evaluate_subexp_standard): Update value_bitstring call.
|
|
(lookup_string_range_type): Likewise.
* gdbtypes.c (lookup_array_range_type): New function.
(lookup_string_range_type): Likewise.
* ax-gdb.c (gen_repeat): Use lookup_array_range_type.
* parse.c (follow_types): Likewise.
* jv-lang.c (java_array_type): Likewise.
* gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
* mt-tdep.c (mt_register_type): Likewise.
* sh-tdep.c (sh_sh4_build_float_register_type): Likewise.
* sh64-tdep.c (sh64_build_float_register_type): Likewise.
* value.c (allocate_repeat_value): Likewise.
* valops.c (value_array, value_cstring): Likewise.
* valops.c (value_string): Use lookup_string_range_type.
|
|
architecture instead of current_gdbarch.
(gen_struct_ref): Add EXP argument, pass to get_bitfield_ref.
(gen_expr): Pass expression to get_struct_ref.
* symtab.h (struct symbol_ops): Add GDBARCH parameter to
tracepoint_var_ref callback.
* ax-gdb.c (gen_var_ref): Pass architecture to tracepoint_var_ref
symbol operation callback.
* dwarf2loc.c (dwarf2_tracepoint_var_ref): Add GDBARCH parameter.
Use it instead of current_gdbarch.
(locexpr_tracepoint_var_ref): Add GDBARCH parameter. Pass it to
dwarf2_tracepoint_var_ref.
(loclist_tracepoint_var_ref): Likewise.
|
|
* ax-gdb.c (gen_var_ref): Likewise.
* findvar.c (read_var_value, symbol_read_needs_frame): Likewise.
* printcmd.c (address_info): Likewise.
* dwarf2loc.c (dwarf_expr_frame_base): Likewise.
* dwarf2read.c (dwarf2_symbol_mark_computed): Likewise.
* symtab.h: Rename struct symbol_ops to struct symbol_computed_ops.
* dwarf2loc.h: Likewise.
* dwarf2loc.c (dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Likewise.
* symtab.h: (struct symbol_register_ops): New struct definition.
(struct symbol): Make "ops" member a union of symbol_computed_ops and
symbol_register_ops callback pointers.
(SYMBOL_REGISTER_OPS): New macro.
* tracepoint.c: Include "objfiles.h".
(scope_info, collect_symbol): Use SYMBOL_REGISTER_OPS register_number
callback to retrieve register numbers.
* ax-gdb.c (gen_var_ref): Likewise.
* findvar.c (read_var_value): Likewise.
* printcmd.c (address_info): Likewise.
* coffread.c (coff_reg_to_regnum): New function.
(coff_register_funcs): New static variable.
(process_coff_symbol): Do not call gdbarch_sdb_reg_to_regnum.
Install SYMBOL_REGISTER_OPS callbacks.
* mdebugread.c (mdebug_reg_to_regnum): New function.
(mdebug_register_funcs): New static variable.
(parse_symbol): Do not call gdbarch_ecoff_reg_to_regnum.
Install SYMBOL_REGISTER_OPS callbacks.
* stabsread.c (stab_reg_to_regnum): New function.
(stab_register_funcs): New static variable.
(define_symbol): Do not call gdbarch_stab_reg_to_regnum.
Install SYMBOL_REGISTER_OPS callbacks.
|
|
|
|
(gen_frame_args_address): Add GDBARCH parameter; use it
instead of current_gdbarch.
(gen_frame_locals_address): Likewise.
(gen_var_ref): Add GDBARCH parameter. Update calls to
gen_frame_args_address and gen_frame_locals_address. Use
pointer type from gdbarch.
(gen_usual_unary): Add EXP parameter. Use integer type
from exp->gdbarch.
(gen_usual_arithmetic): Likewise.
(gen_integral_promotions): Likewise.
(gen_add, gen_sub): Remove.
(gen_ptradd, gen_ptrsub, gen_ptrdiff): New functions.
(gen_logical_not): Use passed-in boolean result type
instead of builtin_type_int.
(gen_complement): Do not call gen_usual_unary or
gen_integral_promotions.
(gen_struct_ref): Call require_rvalue instead of gen_usual_unary.
(gen_repeat): Add EXP parameter. Update call to gen_expr.
Use builtin_type_int32 as internal range type.
(gen_sizeof): Add EXP and SIZE_TYPE parameters. Use SIZE_TYPE
as result type. Update call to gen_expr.
(gen_expr): Add EXP parameter. Update calls to gen_expr,
gen_repeat, gen_var_ref, gen_usual_unary, gen_usual_arithmetic,
and gen_integral_promotions. Call gen_ptradd, gen_ptrsub,
gen_ptrdiff, or gen_binop instead of gen_add or gen_sub.
Use exp->gdbarch instead of current_gdbarch.
Call language_bool_type to determine result type of UNOP_LOGICAL_NOT.
|
|
(frame_map_name_to_regnum): Remove prototype.
* frame.c (frame_map_regnum_to_name): Remove.
(frame_map_name_to_regnum): Remove.
(frame_unwind_register_value): Use user_reg_map_regnum_to_name
instead of frame_map_regnum_to_name.
* ax-gdb.c: Include "user-regs.h".
(gen_expr): Use user_reg_map_name_to_regnum instead of
frame_map_name_to_regnum.
* eval.c: Include "user-regs.h".
(evaluate_subexp_standard): Use user_reg_map_name_to_regnum
instead of frame_map_name_to_regnum.
* infcmd.c (registers_info): Likewise.
* parse.c: Include "user-regs.h".
(write_dollar_variable): Use user_reg_map_name_to_regnum
instead of frame_map_name_to_regnum.
* tracepoint.c: Include "user-regs.h".
(encode_actions): Use user_reg_map_name_to_regnum
instead of frame_map_name_to_regnum.
* valops.c: Include "user-regs.h".
(value_fetch_lazy): Use user_reg_map_regnum_to_name instead
of frame_map_regnum_to_name.
|
|
* blockframe.c (find_pc_partial_function): Likewise.
* buildsym.c (find_symbol_in_list): Likewise.
* c-valprint.c (c_val_print): Likewise.
* coffread.c (patch_opaque_types, process_coff_symbol): Likewise.
(coff_read_enum_type): Likewise. Use SYMBOL_SET_LINKAGE_NAME.
* cp-support.c (cp_remove_params): Renamed from remove_params and
made global.
(overload_list_add_symbol): Update call to remove_params.
* cp-support.h (cp_remove_params): Declare.
* dwarf2read.c (process_enumeration_scope): Use SYMBOL_LINKAGE_NAME.
(dwarf2_const_value): Use SYMBOL_PRINT_NAME.
* expprint.c (dump_subexp_body_standard): Likewise.
* f-valprint.c (info_common_command, there_is_a_visible_common_named):
Use SYMBOL_LINKAGE_NAME to find symbols and SYMBOL_PRINT_NAME
for messages.
* findvar.c (read_var_value): Use SYMBOL_LINKAGE_NAME.
* gnu-v2-abi.c (gnuv2_value_rtti_type): Likewise.
* hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline)
(hppa_hpux_skip_trampoline_code): Use SYMBOL_LINKAGE_NAME to find
symbols and SYMBOL_PRINT_NAME for messages.
* jv-lang.c (add_class_symbol): Use SYMBOL_SET_LINKAGE_NAME.
* linespec.c (decode_line_2): Use SYMBOL_LINKAGE_NAME.
* mdebugread.c (parse_symbol): Use SYMBOL_LINKAGE_NAME and
SYMBOL_SET_LINKAGE_NAME.
(mylookup_symbol): Use SYMBOL_LINKAGE_NAME.
* minsyms.c (add_minsym_to_demangled_hash_table): Use
SYMBOL_SEARCH_NAME.
(lookup_minimal_symbol): Use SYMBOL_LINKAGE_NAME or
SYMBOL_MATCHES_SEARCH_NAME, depending on the pass.
* objfiles.h (ALL_OBJFILE_MSYMBOLS): Use SYMBOL_LINKAGE_NAME.
* printcmd.c (build_address_symbolic): Use SYMBOL_LINKAGE_NAME.
(address_info): Use SYMBOL_PRINT_NAME for messages and
SYMBOL_LINKAGE_NAME for lookups.
* sol-thread.c (info_cb): Use SYMBOL_PRINT_NAME for messages.
* stabsread.c (patch_block_stabs, define_symbol)
(read_type, read_enum_type, common_block_end)
(cleanup_undefined_types_1, scan_file_globals): Use
SYMBOL_LINKAGE_NAME, SYMBOL_SET_LINKAGE_NAME, ALL_OBJFILE_MSYMBOLS,
and SYMBOL_PRINT_NAME.
* stack.c (print_frame_args): Use SYMBOL_LINKAGE_NAME.
(print_frame, frame_info): Use SYMBOL_PRINT_NAME for output. Use
cp_remove_params instead of cplus_demangle.
(print_block_frame_labels, print_frame_arg_vars): Use
SYMBOL_LINKAGE_NAME.
* symmisc.c (dump_msymbols): Use ALL_OBJFILE_MSYMBOLS and
SYMBOL_LINKAGE_NAME.
(dump_symtab_1, print_symbol, print_partial_symbols)
(maintenance_check_symtabs): Use SYMBOL_LINKAGE_NAME.
* symtab.h (DEPRECATED_SYMBOL_NAME): Delete.
(SYMBOL_SET_LINKAGE_NAME): New.
(SYMBOL_SET_NAMES): Add a comment.
* tracepoint.c (set_traceframe_context, validate_actionline)
(collect_symbol, scope_info): Use SYMBOL_LINKAGE_NAME for
lookups and SYMBOL_PRINT_NAME for output.
* typeprint.c (typedef_print): Use SYMBOL_LINKAGE_NAME.
* xcoffread.c (process_xcoff_symbol): Use SYMBOL_SET_LINKAGE_NAME.
|
|
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.
|
|
LOC_BASEREG_ARG.
(struct symbol): Remove "basereg" member of "aux_value" union.
(SYMBOL_BASEREG): Remove.
* ada-exp.y (select_possible_type_sym): Do not handle LOC_BASEREG
or LOC_BASEREG_ARG.
* ada-lang.c (resolve_subexp, symtab_for_sym): Likewise.
(ada_add_block_symbols): Likewise.
* ax-gdb.c (gen_var_ref): Likewise.
* buildsym.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_block_frame_locals): Likewise.
(print_frame_arg_vars): Likewise.
* symmisc.c (print_symbol): Likewise.
* symtab.c (lookup_block_symbol): Likewise.
* tracepoint.c (collect_symbol, add_local_symbols): Likewise.
(scope_info): Likewise.
|
|
* 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.
|
|
pseudoregister, not an internal error.
|
|
|
|
(expr_to_address_and_size): Delete #if 0'd function.
* ax-gdb.h (expr_to_agent): Delete declaration.
|
|
value->type. Doc fix.
|