+
+ * NEWS: Mention new "type" attribute of python gdb.Symbol objects.
+ * python/py-symbol.c (sympy_get_type): New function.
+ (symbol_object_getset): Add "type".
+
+
+ PR tui/13073
+
+ * tui/tui-regs.c (tui_show_register_group): Skip registers with an
+ empty name.
+ (tui_show_register_group): Don't store a byte buffer in the data
+ element's value.
+ (tui_register_format): Skip registers with an empty name.
+ (tui_get_register): Store a struct value in the data element's
+ value field instead of a byte buffer holding the raw register
+ contents. Account for optimized-out and unavailable registers
+ when comparing register contents.
+
+
+ * printcmd.c (current_display_number): Update comment.
+ (disable_current_display_cleanup): Delete.
+ (do_one_display): Use make_cleanup_restore_integer. Gracefully
+ catch errors thrown while evaluating and printing the display.
+
+
+ * mi/mi-cmd-break.c (mi_cmd_break_passcount): Fix typo.
+
+
+ * elfread.c (elf_symtab_read): Rework comments.
+ * maint.c (maintenance_command): Ditto.
+ * somread.c (som_symtab_read): Ditto.
+ * solib.c (solib_find, solib_map_sections, update_solib_list)
+ (solib_add, info_sharedlibrary_command, solib_name_from_address)
+ (solib_create_inferior_hook, in_solib_dynsym_resolve_code)
+ (sharedlibrary_command, no_shared_libraries): Ditto.
+ * solib-irix.c (locate_base, disable_break, enable_break)
+ (irix_solib_create_inferior_hook, irix_solib_create_inferior_hook)
+ (irix_current_sos, irix_open_symbol_file_object)
+ (irix_special_symbol_handling): Ditto.
+ * solib-sunos.c (locate_base, first_link_map_member)
+ (sunos_current_sos, disable_break, enable_break)
+ (sunos_special_symbol_handling, sunos_solib_create_inferior_hook):
+ Ditto.
+ * solib-svr4.c (bfd_lookup_symbol, elf_locate_base, locate_base)
+ (open_symbol_file_object, svr4_current_sos, enable_break)
+ (svr4_special_symbol_handling, svr4_solib_create_inferior_hook):
+ Ditto.
+ * solib-frv.c (bfd_lookup_symbol, open_symbol_file_object)
+ (frv_current_sos, enable_break, frv_special_symbol_handling)
+ (frv_solib_create_inferior_hook): Ditto.
+ * solist.h (struct target_so_ops): Extend the comments of the
+ special_symbol_handling, current_sos and open_symbol_file_object
+ methods.
+
+
+ * python/lib/gdb/__init__.py: Auto-load files in command and
+ function directories.
+ * python/python.c (finish_python_initialization): Use
+ os.path.join.
+ * python/lib/gdb/command/pretty_printers.py: Self register
+ command.
+ * NEWS: Document auto-loading.
+
+
+ * dwarf2loc.c (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_STACK>
+ (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_LITERAL>: New variable
+ objfile_gdbarch. Fix BFD_ENDIAN_BIG case.
+
+
+ * breakpoint.c (clean_up_filters): Remove.
+ (catch_syscall_split_args): Use VEC_cleanup.
+
+
+ * cp-name-parser.y (xfree): Wrap the name free by CONCAT2.
+ (main): Uncomment "Demangling error\n".
+
+
+ * solib-target.c (segment_attributes): Make them static.
+ (section_attributes, library_children, library_attributes): Likewise.
+ (library_list_children, library_list_attributes): Likesise.
+ (library_list_elements): Likewise.
+
+
+ * exceptions.c (throw_exception): Don't disable the current
+ display.
+ * printcmd.c (disable_current_display_cleanup): New function.
+ (do_one_display): Install a cleanup to disable the current display
+ if doing the display throws.
+
+
+ * python/py-breakpoint.c (gdbpy_initialize_breakpoints): Move the
+ initialization of the tp_new member to the corresponding
+ gdbpy_initialize_* function.
+ * python/py-cmd.c (gdbpy_initialize_commands): Likewise.
+ * python/py-frame.c (gdbpy_initialize_frames): Likewise.
+ * python/py-function.c (gdbpy_initialize_functions): Likewise.
+ * python/py-inferior.c (gdbpy_initialize_inferior): Likewise.
+ * python/py-param.c (gdbpy_initialize_parameters): Likewise.
+
+
+ * spu-tdep.c (info_spu_event_command, info_spu_signal_command)
+ (info_spu_mailbox_list, info_spu_mailbox_command, info_spu_dma_cmdlist)
+ (info_spu_dma_command, info_spu_proxydma_command): Rename uiout
+ references to current_uiout.
+
+
+ * event-loop.c (gdb_do_one_event): Remove `data' parameter.
+ (start_event_loop): Use TRY_CATCH instead of catch_errors.
+ * event-loop.h (gdb_do_one_event): Remove `data' parameter.
+ * top.c (gdb_readline_wrapper): Adjust.
+ * tui/tui-interp.c (tui_command_loop):
+ (_initialize_tui_interp): Don't install it.
+
+
+ * ui-out.h (uiout): Rename to ...
+ (current_uiout): ... this.
+ * ui-out.c (uiout): Rename to ...
+ (current_uiout): ... this.
+ * ada-lang.c (print_it_exception, print_one_exception)
+ (print_mention_exception): Adjust.
+ * breakpoint.c (watchpoint_check): Adjust.
+ (print_breakpoint_location, print_one_breakpoint, breakpoint_1)
+ (default_collect_info, watchpoints_info, print_one_catch_fork)
+ (print_one_catch_vfork, print_one_catch_syscall)
+ (print_one_catch_exec, mention, print_it_ranged_breakpoint)
+ (print_one_ranged_breakpoint, print_mention_ranged_breakpoint)
+ (print_it_watchpoint, print_mention_watchpoint)
+ (print_it_masked_watchpoint, print_mention_masked_watchpoint)
+ (print_it_exception_catchpoint, print_one_exception_catchpoint)
+ (print_mention_exception_catchpoint, say_where, bkpt_print_it)
+ (bkpt_print_mention, momentary_bkpt_print_it)
+ (tracepoint_print_mention, update_static_tracepoint)
+ (tracepoints_info, save_breakpoints): Adjust.
+ * cli-out.c (field_separator): Adjust.
+ * cp-abi.c (list_cp_abis, show_cp_abi_cmd): Adjust.
+ * exceptions.c (catch_exceptions_with_msg, catch_errors): Adjust.
+ * frame.c (get_current_frame): Adjust.
+ * infcmd.c (run_command_1, print_return_value): Adjust.
+ * inferior.c (inferior_command, info_inferiors_command): Adjust.
+ * infrun.c (print_end_stepping_range_reason): Adjust.
+ (print_signal_exited_reason, print_exited_reason): Adjust.
+ (print_signal_received_reason, print_no_history_reason): Adjust.
+ * interps.c (interp_set): Adjust.
+ * osdata.c (info_osdata_command): Adjust.
+ * progspace.c (maintenance_info_program_spaces_command): Adjust.
+ * remote-fileio.c (remote_fileio_request): Adjust.
+ * remote.c (show_remote_cmd): Adjust.
+ * solib.c (info_sharedlibrary_command): Adjust.
+ * source.c (print_source_lines_base): Adjust.
+ * stack.c (print_stack_frame): Adjust.
+ (do_gdb_disassembly, print_frame_info, print_frame): Adjust.
+ * symfile-mem.c (add_vsyscall_page): Adjust.
+ * symfile.c (load_progress, generic_load)
+ (print_transfer_performance): Adjust.
+ * thread.c (info_threads_command, restore_selected_frame)
+ (thread_command): Adjust.
+ * top.c (make_cleanup_restore_ui_file): Adjust.
+ * tracepoint.c (tvariables_info_1, trace_status_mi, tfind_1)
+ (print_one_static_tracepoint_marker): Adjust.
+ * cli/cli-cmds.c (print_disassembly): Adjust.
+ * cli/cli-decode.c (print_doc_line): Adjust.
+ * cli/cli-interp.c (safe_execute_command): Adjust.
+ * cli/cli-logging.c (set_logging_redirect, pop_output_files)
+ (handle_redirections): Adjust.
+ * cli/cli-script.c (show_user_1): Adjust.
+ * cli/cli-setshow.c (do_setshow_command, cmd_show_list): Adjust.
+ * mi/mi-cmd-break.c (breakpoint_notify): Adjust.
+ * mi/mi-cmd-disas.c (mi_cmd_disassemble): Adjust.
+ * mi/mi-cmd-env.c (mi_cmd_env_pwd, mi_cmd_env_path)
+ (mi_cmd_env_dir): Adjust.
+ * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
+ (print_partial_file_name, mi_cmd_file_list_exec_source_files): Adjust.
+ * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
+ (mi_cmd_stack_info_depth, mi_cmd_stack_list_args)
+ (list_args_or_locals): Adjust.
+ * mi/mi-cmd-var.c (print_varobj, mi_cmd_var_create)
+ (mi_cmd_var_delete, mi_cmd_var_set_format, mi_cmd_var_set_frozen)
+ (mi_cmd_var_show_format, mi_cmd_var_info_num_children)
+ (mi_cmd_var_list_children, mi_cmd_var_info_type)
+ (mi_cmd_var_info_path_expression, mi_cmd_var_info_expression)
+ (mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression)
+ (mi_cmd_var_assign, mi_cmd_var_update, varobj_update_one): Adjust.
+ * mi/mi-interp.c (mi_on_normal_stop): Adjust.
+ * mi/mi-main.c (mi_cmd_gdb_exit, mi_cmd_thread_select)
+ (mi_cmd_thread_list_ids, mi_cmd_thread_info, print_one_inferior)
+ (list_available_thread_groups, mi_cmd_list_thread_groups)
+ (mi_cmd_data_list_register_names)
+ (mi_cmd_data_list_changed_registers)
+ (mi_cmd_data_list_register_values, get_register)
+ (mi_cmd_data_evaluate_expression, mi_cmd_data_read_memory)
+ (mi_cmd_data_read_memory_bytes, mi_cmd_list_features)
+ (mi_cmd_list_target_features, mi_cmd_add_inferior)
+ (mi_execute_command, mi_load_progress): Adjust.
+ * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Adjust.
+ * python/py-auto-load.c (print_script, info_auto_load_scripts):
+ Adjust.
+ * python/py-breakpoint.c (bppy_get_commands): Adjust.
+ * tui/tui-interp.c (tui_command_loop): Adjust.
+ * tui/tui-io.c (tui_setup_io, tui_initialize_io): Adjust.
+
+
+ * exceptions.c (struct catcher): Remove saved_uiout field.
+ (exceptions_state_mc_init): Remove the `func_uiout' parameter, and
+ no longer save/resvore the global ui_out builder.
+ (catch_exceptions_with_msg): Save/override/restore the global
+ ui_out builder manually instead of relying on TRY_CATCH to do it.
+ (catch_errors): Save/restore the global ui_out builder manually
+ instead of relying on TRY_CATCH to do it.
+ * exceptions.h (exceptions_state_mc_init): Remove the `func_uiout'
+ parameter.
+ (TRY_CATCH): Adjust.
+ * cli/cli-interp.c (safe_execute_command): Save/override/restore
+ the global ui_out builder manually instead of relying on TRY_CATCH
+ to do it.
+
+
+ * breakpoint.c (update_global_location_list): Ensure
+ invariant 'first loc marked not duplicated and inserted,
+ following locs marked duplicated/not inserted' is respected
+ for multiple locations at the same address.
+ (unduplicated_should_be_inserted) New function.
+ (swap_insertion) New function.
+
+
+ * stack.c (print_frame_arguments_choices): Comment typo fix.
+
+
+ Revert:
+ * breakpoint.c (insert_bp_location): Remove disabled_breaks
+ argument. Update callers.
+
+
+ PR gdb/13045
+ * doublest.c (convert_doublest_to_floatformat): Pass correct
+ mantissa length to put_field.
+
+
+ * stack.c (do_gdb_disassembly): Use RETURN_MASK_ERROR, simplify the
+ exception_print code path.
+ (backtrace_command): Remove variable e. Protect arg by make_cleanup in
+ advance. Simplify memset. Remove TRY_CATCH. Remove explicit xfree.
+ (backtrace_full_command): Remove variable e. Remove TRY_CATCH.
+
+
+ Code cleanup.
+ * stack.c (struct print_stack_frame_args, print_stack_frame_stub):
+ Remove, merge them into ...
+ (print_stack_frame): ... here with a TRY_CATCH. New variable e, remove
+ variable args and its initialization.
+ (struct print_args_args, print_args_stub): Remove, merge them into
+ print_frame.
+ (struct gdb_disassembly_stub_args, gdb_disassembly_stub): Remove, merge
+ them into ...
+ (do_gdb_disassembly): ... here. Remove variable args and its
+ initialization.
+ (print_frame): Remove variable args and its initialization, new
+ variable gdbarch and numargs (from print_args_stub), inline here
+ print_args_stub with a TRY_CATCH.
+ (struct backtrace_command_args, backtrace_command_stub): Remove, merge
+ them into ...
+ (backtrace_command, backtrace_full_command): ... here with a TRY_CATCH.
+ New variable e, remove variable btargs and its initialization.
+
+
+ * darwin-nat.c (darwin_decode_exception_message): Adjust assertion.
+
+
+ * breakpoint.c (insert_bp_location): Document return value.
+ (insert_breakpoint_locations): Fix documentation.
+ (remove_breakpoints): Add documentation.
+
+
+ * breakpoint.c (insert_bp_location): Remove disabled_breaks
+ argument. Update callers.
+
+
+ * stack.c (print_frame_info): Comment typo fix.
+
+
+ * MAINTAINERS (Write After Approval): Add myself to the list.
+
+
+ * solib-target.c: Use DEF_VEC_I, not DEF_VEC_O.
+ (library_list_start_segment): Update.
+ (library_list_start_section): Update.
+
+
+ * varobj.c (value_get_print_value): Move hint check later into the
+ function. Comment function. Free thevalue before reusing it.
+
+
+ * eval.c (evaluate_subexp_standard): Remove not_lval from all calls of
+ value_one.
+ * valops.c (value_one): Remove parameter lv. Do not pass it to itself.
+ Assert the result kind.
+ * value.h (value_one): Remove parameter lv.
+
+
+ Fix crash on lval_computed values.
+ * valops.c (value_zero): Use not_lval for lval_computed.
+
+
+ * Makefile.in (HFILES_NO_SRCDIR): Add 'common' prefix for
+ gdb_assert.h, gdb_locale.h, gdb_dirent.h.
+
+
+ * typeprint.c (_initialize_typeprint): Extend the help of "whatis" and
+ "ptype" by their typedefs difference.
+
+
+ * dwarf2expr.c (ctx_no_read_reg): New function.
+ * dwarf2expr.h (ctx_no_read_reg): New declaration.
+ * dwarf2read.c (read_2_signed_bytes, read_4_signed_bytes): Remove.
+ (decode_locdesc_read_mem, decode_locdesc_ctx_funcs): New.
+ (decode_locdesc): Replace by a caller of dwarf_expr_eval.
+
+
+ * dwarf2-frame.c (no_get_frame_base, no_get_frame_cfa, no_get_frame_pc)
+ (no_get_tls_address, no_dwarf_call, no_base_type): Move to the other
+ file.
+ (dwarf2_frame_ctx_funcs): Reference the renamed functions.
+ * dwarf2expr.c (ctx_no_get_frame_base, ctx_no_get_frame_cfa)
+ (ctx_no_get_frame_pc, ctx_no_get_tls_address, ctx_no_dwarf_call)
+ (ctx_no_get_base_type): Move the functions here.
+ * dwarf2expr.h (ctx_no_get_frame_base, ctx_no_get_frame_cfa)
+ (ctx_no_get_frame_pc, ctx_no_get_tls_address, ctx_no_dwarf_call)
+ (ctx_no_get_base_type): New declarations.
+
+
+ * xcoffread.c (dwarf2_xcoff_names): Add 'macro' and 'sentinel'
+ entries.
+ * symfile.h (struct dwarf2_debug_sections) <sentinel>: New field.
+ * dwarf2read.c (dwarf2_elf_names): Add sentinel entry.
+
+
+ * cli/cli-dump.c (dump_binary_file): Change parameter type to
+ ULONGEST.
+ (dump_bfd_file): Likewise.
+
+
+ * remote.c (remote_region_ok_for_hw_watchpoint): New function.
+ (remote_hw_watchpoint_length_limit): New variable.
+ (_initialize_remote) add set,show cmds for this new variable.
+ * gdb.texinfo: document these new commands.
+ * NEWS: Mention these new commands.
+
+
+ * breakpoint.c (works_in_software_mode_watchpoint): Also return
+ true for software watchpoints.
+
+
+ GDB 7.3 released.
+
+
+ * symfile.h (struct dwarf2_debug_sections) <macro>: New field.
+ * dwarf2read.c (read_indirect_string_at_offset): New function.
+ (read_indirect_string): Use it.
+ (dwarf_decode_macro_bytes): New function, taken from
+ dwarf_decode_macros. Handle DW_MACRO_GNU_*.
+ (dwarf_decode_macros): Use it. handle DW_MACRO_GNU_*.
+ (dwarf_parse_macro_header, skip_form_bytes, skip_unknown_opcode):
+ New functions.
+ (struct dwarf2_per_objfile) <macro>: New field.
+ (dwarf2_elf_names): Add .debug_macro.
+ (dwarf2_macros_too_long_complaint): Add 'section' argument.
+ (dwarf2_locate_sections): Handle new section.
+ (read_file_scope): Handle DW_AT_GNU_macros.
+ (dwarf2_per_objfile_free): Unmap the .debug_macro section.
+
+
+ * NEWS: Mention dcache configuration.
+ * dcache.c (dcache_set_list, dcache_show_list): New variables.
+ (dcache_size, dcache_line_size): New variables.
+ (LINE_SIZE_MASK, XFORM, MASK): Adjust.
+ (struct dcache_block): Make it expandable.
+ (struct dcache_struct): New field.
+ (dcache_invalidate): Discard freelist upon dcache_line_size changes.
+ (dcache_hit, dcache_alloc, dcache_peek_byte): Adjust.
+ (dcache_poke_byte, dcache_print_line): Adjust.
+ (set_dcache_size, set_dcache_line_size): New functions.
+ (set_dcache_command, show_dcache_command): New functions.
+ (_initialize_dcache): Add new commands.
+
+
+ * progspace.h (struct program_space): Add solib_add_generation.
+ * infcmd.c (post_create_inferior): Only call solib_add if not
+ already done.
+ * solib.c (solib_add): Increment solib_add_generation.
+
+
+ Fix implicit pointer offsets.
+ * dwarf2loc.c (indirect_pieced_value): Comment byte_offset. Use also
+ ptr.OFFSET.
+
+
+ * ada-lang.c (ada_exception_breakpoint_ops): Make return type
+ const.
+ (ada_exception_sal): Make 'ops' const.
+ (ada_decode_exception_location): Likewise.
+ (ada_decode_assert_location): Likewise.
+ (catch_assert_command): Update.
+ (catch_ada_exception_command): Update.
+ (create_ada_exception_catchpoint): Make 'ops' const.
+ * breakpoint.c (set_raw_breakpoint_without_location)
+ (set_raw_breakpoint, momentary_breakpoint_from_master): Make 'ops'
+ const.
+ (create_internal_breakpoint): Update.
+ (init_raw_breakpoint_without_location): Make 'ops' const.
+ (init_raw_breakpoint, init_catchpoint)
+ (create_fork_vfork_event_catchpoint)
+ (create_syscall_event_catchpoint, init_breakpoint_sal)
+ (create_breakpoint_sal, create_breakpoints_sal)
+ (create_breakpoint, init_ada_exception_breakpoint): Likewise.
+ * breakpoint.h (struct breakpoint) <ops>: Now const.
+ (init_ada_exception_breakpoint, create_breakpoint): Make 'ops'
+ const.
+
+
+ * linux-thread-db.c (thread_from_lwp): Initialize th.th_unique.
+
+
+ * breakpoint.h (print_recreate_thread): Declare.
+ (struct breakpoint): Move step_count, pass_count,
+ number_on_target, static_trace_marker_id,
+ static_trace_marker_id_idx ...
+ (struct tracepoint): ... to this new struct.
+ (get_tracepoint, get_tracepoint_by_number_on_target)
+ (get_tracepoint_by_number): Change return type to struct
+ tracepoint pointer.
+ * breakpoint.c (is_tracepoint_type): New, factored out from
+ is_tracepoint.
+ (is_tracepoint): Adjust.
+ (print_one_breakpoint_location): Cast to struct tracepoint as
+ necessary, and adjust.
+ (print_recreate_catch_fork, print_recreate_catch_vfork)
+ (print_recreate_catch_syscall, print_recreate_catch_exec): Call
+ print_recreate_thread.
+ (init_breakpoint_sal): New, factored out from
+ create_breakpoint_sal.
+ (create_breakpoint_sal): Reimplement.
+ (create_breakpoint): Allocate a struct tracecepoint if the caller
+ wanted a tracepoint. Use init_breakpoint_sal and
+ install_breakpoint.
+ (print_recreate_ranged_breakpoint, print_recreate_watchpoint)
+ (print_recreate_masked_watchpoint)
+ (print_recreate_exception_catchpoint): Call print_recreate_thread.
+ (tracepoint_print_one_detail): Adjust.
+ (tracepoint_print_recreate): Adjust. Call print_recreate_thread.
+ Dump the pass count here.
+ (update_static_tracepoint): Adjust.
+ (addr_string_to_sals): Adjust.
+ (create_tracepoint_from_upload): Adjust. Change return type to
+ struct tracepoint pointer.
+ (trace_pass_set_count): Change parameter type to struct tracepoint
+ pointer, and adjust.
+ (trace_pass_command): Adjust.
+ (get_tracepoint, get_tracepoint_by_number_on_target)
+ (get_tracepoint_by_number): Change return type to struct
+ tracepoint pointer, and adjust.
+ (print_recreate_thread): New, factored out from save_breakpoints.
+ (save_breakpoints): Don't print thread and task and passcount
+ recreation here.
+ * remote.c (remote_download_tracepoint): Adjust.
+ * tracepoint.c (trace_actions_command, validate_actionline)
+ (start_tracing, tfind_1, trace_find_tracepoint_command)
+ (trace_dump_command): Adjust.
+ (find_matching_tracepoint): Change return type to struct
+ tracepoint pointer, and adjust.
+ (merge_uploaded_tracepoints, tfile_get_traceframe_address)
+ (tfile_trace_find, tfile_fetch_registers): Adjust.
+ * tracepoint.h (create_tracepoint_from_upload): Change return type
+ to struct tracepoint pointer.
+ * ada-lang.c (print_recreate_exception): Call
+ print_recreate_thread.
+ * mi/mi-cmd-break.c (mi_cmd_break_passcount): Adjust.
+
+
+ * breakpoint.h (struct breakpoint): Move ops as first field. Move
+ exp_string, exp_string_reparse, exp, exp_valid_block, cond_exp,
+ cond_exp_valid_block, val, val_valid, watchpoint_frame,
+ watchpoint_thread, watchpoint_triggered ...
+ (struct watchpoint): ... to this new struct.
+ (is_watchpoint): Declare.
+ (install_breakpoint): Add new `internal' parameter.
+ * breakpoint.c (is_watchpoint): Delete declaration.
+ (set_breakpoint_condition): Handle watchpoints.
+ (is_watchpoint): Make public.
+ (watchpoint_in_thread_scope): Change parameter type to struct
+ watchpoint.
+ (watchpoint_del_at_next_stop): Change parameter type to struct
+ watchpoint. Remove assertion. Adjust.
+ (update_watchpoint): Ditto.
+ (insert_breakpoints, breakpoint_init_inferior)
+ (watchpoints_triggered, watchpoint_check)
+ (bpstat_check_watchpoint, bpstat_check_breakpoint_conditions)
+ (bpstat_stop_status, print_one_breakpoint_location)
+ (print_one_breakpoint_location, watchpoint_locations_match): Cast
+ to struct watchpoint as necessary, and adjust.
+ (install_breakpoint): Add `internal' argument. If true, don't
+ mention the new breakpoint. Use set_breakpoint_number.
+ (create_fork_vfork_event_catchpoint)
+ (create_syscall_event_catchpoint): Adjust.
+ (dtor_watchpoint): New.
+ (re_set_watchpoint, insert_watchpoint, remove_watchpoint)
+ (breakpoint_hit_watchpoint, resources_needed_watchpoint)
+ (print_it_watchpoint, print_mention_watchpoint)
+ (print_recreate_watchpoint, insert_masked_watchpoint)
+ (remove_masked_watchpoint, resources_needed_masked_watchpoint)
+ (print_one_detail_masked_watchpoint)
+ (print_mention_masked_watchpoint)
+ (print_recreate_masked_watchpoint): Cast to struct watchpoint as
+ necessary, and adjust.
+ (watch_command_1): Allocate and initialize a struct watchpoint
+ instead of a struct breakpoint. Use install_breakpoint.
+ (catch_exec_command_1): Adjust.
+ (base_breakpoint_dtor): Delete accesses to watchpoint specific
+ fields.
+ (delete_breakpoint, enable_breakpoint_disp)
+ (invalidate_bp_value_on_memory_change): Cast to struct watchpoint
+ as necessary, and adjust.
+ (initialize_breakpoint_ops): Install dtor_watchpoint as
+ watchpoints' dtor method.
+ * ada-lang.c (create_ada_exception_catchpoint): Adjust.
+ * python/py-breakpoint.c (bppy_get_expression): Use is_watchpoint.
+ to struct watchpoint as necessary, and adjust.
+
+
+ * ada-lang.c (dtor_exception, re_set_exception): Indirect through
+ the the base class ops table.
+ (catch_exception_breakpoint_ops)
+ (catch_exception_unhandled_breakpoint_ops)
+ (catch_assert_breakpoint_ops): Don't statically initialize.
+ (initialize_ada_catchpoint_ops): New.
+ (_initialize_ada_language): Call it.
+ * breakpoint.c (base_breakpoint_ops, bkpt_base_breakpoint_ops)
+ (bkpt_breakpoint_ops): Forward declare.
+ (catch_fork_breakpoint_ops, catch_vfork_breakpoint_ops)
+ (catch_syscall_breakpoint_ops, catch_exec_breakpoint_ops)
+ (ranged_breakpoint_ops, watchpoint_breakpoint_ops)
+ (masked_watchpoint_breakpoint_ops)
+ (gnu_v3_exception_catchpoint_ops): Don't statically initialize.
+ (dtor_catch_syscall, dtor_catch_exec): Indirect through the the
+ base class ops table.
+ (null_re_set, null_check_status, null_works_in_software_mode)
+ (null_resources_needed, null_print_one_detail): Delete.
+ (bkpt_dtor): Rename to ...
+ (base_breakpoint_dtor): ... this. Make static.
+ (bkpt_allocate_location): Rename to ...
+ (base_breakpoint_allocate_location): ... this. Make static.
+ (base_breakpoint_re_set): New.
+ (internal_error_pure_virtual_called): New.
+ (base_breakpoint_insert_location, base_breakpoint_remove_location)
+ (base_breakpoint_breakpoint_hit, base_breakpoint_check_status)
+ (base_breakpoint_works_in_software_mode)
+ (base_breakpoint_resources_needed, base_breakpoint_print_it)
+ (base_breakpoint_print_one_detail, base_breakpoint_print_mention)
+ (base_breakpoint_print_recreate): New functions.
+ (base_breakpoint_ops): New global.
+ (bkpt_re_set, bkpt_insert_location, bkpt_remove_location)
+ (bkpt_breakpoint_hit): Make static.
+ (bkpt_check_status): Delete.
+ (bkpt_resources_needed): Make static.
+ (bkpt_works_in_software_mode): Delete.
+ (bkpt_print_it, bkpt_print_mention, bkpt_print_recreate): Make
+ static.
+ (bkpt_breakpoint_ops, internal_breakpoint_ops)
+ (momentary_breakpoint_ops): Don't statically initialize.
+ (internal_bkpt_print_recreate, momentary_bkpt_print_recreate):
+ Delete.
+ (tracepoint_insert_location, tracepoint_remove_location)
+ (tracepoint_check_status, tracepoint_works_in_software_mode)
+ (tracepoint_print_it): Delete.
+ (tracepoint_breakpoint_ops): Don't statically initialize.
+ (initialize_breakpoint_ops): New.
+ (_initialize_breakpoint): Call it.
+ * breakpoint.h (null_re_set, null_works_in_software_mode)
+ (null_resources_needed, null_check_status, null_print_one_detail):
+ (bkpt_dtor, bkpt_allocate_location, bkpt_re_set)
+ (bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit)
+ (bkpt_check_status, bkpt_resources_needed)
+ (bkpt_works_in_software_mode, bkpt_print_it)
+ (null_print_one_detail, bkpt_print_mention, bkpt_print_recreate):
+ Delete declarations.
+ (initialize_breakpoint_ops): Declare.
+
+
+ * breakpoint.c (bkpt_print_it, internal_bkpt_print_it)
+ (momentary_bkpt_print_it): Simplify.
+
+
+ Split internal, momentary and user breakpoints breakpoint_ops
+ tables.
+
+ * breakpoint.c (internal_breakpoint_ops)
+ (momentary_breakpoint_ops): Forward declare.
+ (create_internal_breakpoint): Add new breakpoint_ops parameter.
+ Pass it down, rather than hardcoding bkpt_breakpoint_ops.
+ (create_overlay_event_breakpoint)
+ (create_std_terminate_master_breakpoint)
+ (create_exception_master_breakpoint): Create breakpoints with
+ internal_breakpoint_ops vtable.
+ (set_longjmp_breakpoint): Create momentary breakpoints with
+ momentary_breakpoint_ops vtable, using
+ momentary_breakpoint_from_master.
+ (create_thread_event_breakpoint, create_jit_event_breakpoint)
+ (create_solib_event_breakpoint): Create breakpoints with
+ internal_breakpoint_ops vtable.
+ (set_momentary_breakpoint): Create breakpoints with
+ momentary_breakpoint_ops vtable.
+ (momentary_breakpoint_from_master): New, factored out from
+ clone_momentary_breakpoint.
+ (clone_momentary_breakpoint): Adjust.
+ (watch_command_1): Create scope breakpoints with
+ momentary_breakpoint_ops vtable.
+ (bkpt_re_set): Remove handling of internal and momentary
+ breakpoints.
+ (bkpt_print_mention, bkpt_print_recreate): New.
+ (bkpt_breakpoint_ops): Adjust.
+ (internal_bkpt_re_set, internal_bkpt_check_status)
+ (internal_bkpt_print_it, internal_bkpt_print_mention)
+ (internal_bkpt_print_recreate, internal_breakpoint_ops): New.
+ (momentary_bkpt_re_set, momentary_bkpt_check_status)
+ (momentary_bkpt_print_it, momentary_bkpt_print_mention)
+ (momentary_bkpt_print_recreate): New.
+ (momentary_breakpoint_ops): New.
+
+
+ Implement most breakpoint_ops methods for all breakpoint types,
+ and move the default handlings to the proper callbacks.
+
+ * breakpoint.c (update_watchpoint): Always call the breakpoint's
+ works_in_software_mode method.
+ (insert_bp_location): Go through breakpoint_ops->insert_location
+ for software and hardware watchpoints.
+ (create_internal_breakpoint): Pass bkpt_breakpoint_ops as
+ breakpoint_ops.
+ (remove_breakpoint_1): Go through breakpoint_ops->remove_location
+ for software and hardware watchpoints.
+ (print_it_typical): Delete.
+ (print_bp_stop_message): Always call the breakpoint_ops->print_it
+ method.
+ (watchpoint_check): Adjust comment.
+ (bpstat_check_location): Simply always call the breakpoint's
+ breakpoint_hit method.
+ (bpstat_stop_status): Always call the breakpoint's check_status
+ method. Remove special cases for watchpoints and internal event
+ breakpoints from here (moved to the check_status implementations).
+ (print_one_breakpoint_location): Assume b->ops is never NULL.
+ Remove static tracepoint marker id printing from here (moved to
+ the print_one_detail callback implementation of tracepoints).
+ (init_bp_location): Assert OPS is never NULL.
+ (allocate_bp_location): Always call the breakpoint's
+ allocate_location method, and remove the default code from here.
+ (free_bp_location): Always call the location's dtor method, and
+ remove the default code from here.
+ (init_raw_breakpoint_without_location): Assert OPS is never NULL.
+ (set_raw_breakpoint_without_location): Add new breakpoint_ops
+ parameter. Pass it down.
+ (set_raw_breakpoint): Ditto.
+ (print_it_catch_fork): Adjust to take a bpstat as argument.
+ (catch_fork_breakpoint_ops): Install methods.
+ (print_it_catch_vfork): Adjust to take a bpstat as argument.
+ (catch_vfork_breakpoint_ops): Install methods.
+ (dtor_catch_syscall): Call the base dtor.
+ (print_it_catch_syscall): Adjust to take a bpstat as argument.
+ (catch_syscall_breakpoint_ops): Install methods.
+ (dtor_catch_exec): Call the base dtor.
+ (print_it_catch_exec): Adjust to take a bpstat as argument.
+ (catch_exec_breakpoint_ops): Install methods.
+ (hw_breakpoint_used_count, hw_watchpoint_used_count): Always call
+ the breakpoint's resources_needed method, and remove the default
+ code from here.
+ (set_momentary_breakpoint): Pass bkpt_breakpoint_ops as
+ breakpoint_ops.
+ (clone_momentary_breakpoint): Clone the original's ops.
+ (mention): Always call the breakpoint's print_mention method, and
+ remove the default code from here.
+ (create_breakpoint_sal): Adjust to pass the ops to
+ set_raw_breakpoint rather than setting it manually.
+ (create_breakpoint): Assert ops is never NULL. Adjust to pass the
+ ops to set_raw_breakpoint_without_location rather than setting it
+ manually.
+ (break_command_1): Pass bkpt_breakpoint_ops as breakpoint_ops.
+ (print_it_ranged_breakpoint): Adjust to take a bpstat as argument.
+ (ranged_breakpoint_ops): Install methods.
+ (break_range_command): Adjust to pass the ops to
+ set_raw_breakpoint rather than setting it manually.
+ (re_set_watchpoint, breakpoint_hit_watchpoint)
+ (check_status_watchpoint, resources_needed_watchpoint)
+ (works_in_software_mode_watchpoint, print_it_watchpoint)
+ (print_mention_watchpoint, print_recreate_watchpoint): New
+ functions.
+ (watchpoint_breakpoint_ops): Install new methods.
+ (print_it_masked_watchpoint): New function.
+ (masked_watchpoint_breakpoint_ops): Install new methods.
+ (watch_command_1): Adjust to pass the right breakpoint_ops to
+ set_raw_breakpoint_without_location rather than setting it
+ manually later. Record the current pspace.
+ (print_it_exception_catchpoint): Adjust to take a bpstat as
+ argument.
+ (gnu_v3_exception_catchpoint_ops): Install new methods.
+ (say_where): New function.
+ (null_re_set, null_check_status, null_works_in_software_mode)
+ (null_resources_needed, null_print_one_detail, bp_location_dtor):
+ New functions.
+ (bp_location_ops): New global.
+ (bkpt_dtor, bkpt_allocate_location, bkpt_re_set)
+ (bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit)
+ (bkpt_check_status, bkpt_resources_needed)
+ (bkpt_works_in_software_mode, bkpt_print_it, bkpt_print_mention)
+ (bkpt_print_recreate): New functions.
+ (bkpt_breakpoint_ops): New global.
+ (tracepoint_re_set, tracepoint_insert_location)
+ (tracepoint_remove_location, tracepoint_breakpoint_hit)
+ (tracepoint_check_status, tracepoint_works_in_software_mode)
+ (tracepoint_print_it, tracepoint_print_one_detail)
+ (tracepoint_print_mention, tracepoint_print_recreate): New
+ functions.
+ (tracepoint_breakpoint_ops): New global.
+ (delete_breakpoint): Always call the breakpoint's dtor method, and
+ remove the default handling from here.
+ (breakpoint_re_set_default): Make static.
+ (breakpoint_re_set_one): Always call the breakpoints re_set
+ method, and remove the default handling from here.
+ (trace_command, ftrace_command, strace_command)
+ (create_tracepoint_from_upload): Pass appropriate breakpoints_ops
+ to create_breakpoint.
+ (save_breakpoints): Always call the breakpoint's print_recreate
+ method, and remove the default handling from here.
+
+ * ada-lang.c (dtor_exception): Call the base dtor.
+ (re_set_exception): Call the base method.
+ (print_it_exception, print_it_catch_exception): Adjust to take a
+ bpstat as argument.
+ (catch_exception_breakpoint_ops): Install methods.
+ (print_it_catch_exception_unhandled): Adjust to take a bpstat as
+ argument.
+ (catch_exception_unhandled_breakpoint_ops): Install methods.
+ (print_it_catch_assert): Adjust to take a bpstat as argument.
+ (catch_assert_breakpoint_ops): Install methods.
+
+ * breakpoint.h (struct breakpoint_ops): Adjust the print_it method
+ to take a bpstat as argument.
+ (enum print_stop_action): Add describing comments to each enum
+ value.
+ (breakpoint_re_set_default): Delete declaration.
+ (null_re_set, null_works_in_software_mode, null_resources_needed)
+ (null_check_status, null_print_one_detail): Declare.
+ (bkpt_breakpoint_ops): Declare.
+ (bkpt_dtor, bkpt_allocate_location, bkpt_re_set)
+ (bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit)
+ (bkpt_check_status, bkpt_resources_needed)
+ (bkpt_works_in_software_mode, bkpt_print_it)
+ (null_print_one_detail, bkpt_print_mention, bkpt_print_recreate):
+ Declare.
+
+ * mi/mi-cmd-break.c (mi_cmd_break_insert): Adjust to pass
+ bkpt_breakpoint_ops.
+ * python/py-breakpoint.c (bppy_init): Ditto.
+
+
+ * MAINTAINERS (Write After Approval): Add myself to the list.
+
+
+ * elfread.c (elf_rel_plt_read): Fix off-by-one bug.
+
+
+ * i386-nat.c (I386_DR_VACANT, I386_DR_LOCAL_ENABLE)
+ (I386_DR_GLOBAL_ENABLE, I386_DR_DISABLE, I386_DR_SET_RW_LEN)
+ (I386_DR_GET_RW_LEN, I386_DR_WATCH_HIT): Add state parameter and
+ adjust.
+ (dr_mirror, dr_status_mirror, dr_control_mirror): Delete.
+ (struct i386_debug_reg_state): New.
+ (i386_init_dregs): New.
+ (dr_mirror): New.
+ (i386_cleanup_dregs): Use i386_init_dregs.
+ (i386_show_dr): Add state parameter and adjust.
+ (i386_insert_aligned_watchpoint): Ditto. Don't pass the info to
+ the inferior here.
+ (i386_remove_aligned_watchpoint): Likewise.
+ (i386_handle_nonaligned_watchpoint): Add state parameter and adjust.
+ (i386_update_inferior_debug_regs): New.
+ (i386_insert_watchpoint): Work on a local mirror of the debug
+ registers, and only update the inferior on success.
+ (i386_remove_watchpoint): Ditto.
+ (i386_region_ok_for_watchpoint): Adjust.
+ (i386_stopped_data_address): Adjust.
+ (i386_insert_hw_breakpoint): Adjust.
+ (i386_remove_hw_breakpoint): Adjust.
+
+
+ * amd64-tdep.c (amd64_pseudo_register_read_value): Rename
+ from amd64_pseudo_register_read. Change arguments. Call
+ mark_value_bytes_unavailable when needed.
+ (amd64_init_abi): Use set_gdbarch_pseudo_register_read_value, not
+ set_gdbarch_pseudo_register_read.
+ * sentinel-frame.c (sentinel_frame_prev_register): Use
+ regcache_cooked_read_value.
+ * regcache.h (regcache_cooked_read_value): Declare.
+ * regcache.c (regcache_cooked_read_value): New function.
+ (regcache_cooked_read): Call
+ gdbarch_pseudo_register_read_value if available.
+ * i386-tdep.h (i386_pseudo_register_read_value): Declare.
+ (i386_pseudo_register_read): Remove.
+ * i386-tdep.c (i386_pseudo_register_read_into_value): Rename from
+ i386_pseudo_register_read. Change arguments. Call
+ mark_value_bytes_unavailable when needed.
+ (i386_pseudo_register_read_value): New function.
+ (i386_gdbarch_init): Call set_gdbarch_pseudo_register_read_value,
+ not set_gdbarch_pseudo_register_read.
+ * gdbarch.sh (pseudo_register_read_value): New method.
+ * gdbarch.c, gdbarch.h: Rebuild.
+ * findvar.c (value_from_register): Call get_frame_register_value.
+
+
+ * event-top.c (cli_command_loop): Use get_prompt, get_suffix,
+ get_prefix.
+ (display_gdb_prompt): Likewise.
+ (change_annotation_level): Likewise.
+ (push_prompt): Likewise.
+ (pop_prompt): Likewise.
+ (handle_stop_sig): Use get_prompt with a level.
+ * top.c (command_loop): Use get_prompt with a level.
+ (set_async_annotation_level): Use set_prompt with a level.
+ (get_prefix): New function.
+ (set_prefix): Ditto.
+ (set_suffix): Ditto.
+ (get_suffix): Ditto.
+ (get_prompt): Accept a level argument.
+ (set_prompt): Accept a level argument. Free old prompts. Set
+ new_async_prompt if level is 0.
+ (init_main): Use set_prompt with a level. Do not set
+ new_async_prompt.
+ * event-top.h (PROMPT, SUFFIX, PREFIX): Move to top.c
+ * top.h: Declare set_suffix, get_suffix, set_prefix, get_prefix.
+ Modify set_prompt, get_prompt to account for levels.
+ * tui/tui-interp.c (tui_command_loop): Use get_prompt with a
+ level.
+ * python/python.c (before_prompt_hook): Use set_prompt.
+
+
+ * defs.h: Add guard against inclusion in gdbserver.
+ (struct ptid, ptid_t): Move to common/ptid.h.
+ (xfree, xzalloc, xasprintf, xvasprintf, xstrprintf, xstrvprintf,
+ xsnprintf, internal_error): Move to common/common-utils.h.
+ (nomem): Delete.
+ * gdb_assert.h: Move into common/ sub-directory.
+ * gdb_locale.h: Ditto.
+ * gdb_dirent.h: Ditto.
+ * inferior.h (minus_one_ptid, null_ptid, ptid_build, pid_to_ptid,
+ ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal, ptid_is_pid):
+ Move into common/ptid.h.
+ * xml-support.c (xml_escape_text): Move into common/xml-utils.c.
+ (gdb_xml_create_parser_and_cleanup_1, xml_fetch_context_from_file):
+ Change nomem to malloc_failure.
+ * xml-support.h (xml_escape_text): Move into common/xml-utils.h.
+ * utils.c (nomem): Rename to malloc_failure.
+ (xmalloc, xzalloc, xrealloc, xcalloc, xfree, xstrprintf, xasprintf,
+ xvasprintf, xstrvprintf, xsnprintf): Move to common/common-utils.c.
+ (gdb_buildargv): Change nomem to malloc_failure.
+ * infrun.c (null_ptid, minus_one_ptid, ptid_build, pid_to_ptid,
+ ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal,
+ ptid_is_pid): Move into common/ptid.c.
+ (initialize_infrun): Delete initialization of null_ptid and
+ minus_one_ptid.
+ * linux-nat.c (linux_nat_xfer_osdata): Defer to
+ linux_common_xfer_osdata.
+ * Makefile.in (SFILES): Add common/common-utils.c, common/xml-utils.c,
+ common/ptid.c and common/buffer.c.
+ (HFILES_NO_SRCDIR): Add common/common-utils.h, common/xml-utils.h,
+ common/ptid.h, common/buffer.h and common/linux-osdata.h.
+ (COMMON_OBS): Add xml-utils.o, common-utils.o, buffer.o and ptid.o.
+ (common-utils.o, xml-utils.o, ptid.o, buffer.o, linux-osdata.o): New
+ rules.
+ * common/gdb_assert.h: New.
+ * common/gdb_dirent.h: New.
+ * common/gdb_locale.h: New.
+ * common/buffer.c: New.
+ * common/buffer.h: New.
+ * common/ptid.c: New.
+ * common/ptid.h: New.
+ * common/xml-utils.c: New.
+ * common/xml-utils.h: New.
+ * common/common-utils.c: New.
+ * common/common-utils.h: New.
+ * common/linux-osdata.c: New.
+ * common/linux-osdata.h: New.
+ * config/alpha/alpha-linux.mh (NATDEPFILES): Add linux-osdata.o.
+ * config/arm/linux.mh (NATDEPFILES): Ditto.
+ * config/i386/linux.mh (NATDEPFILES): Ditto.
+ * config/i386/linux64.mh (NATDEPFILES): Ditto.
+ * config/ia64/linux.mh (NATDEPFILES): Ditto.
+ * config/m32r/linux.mh (NATDEPFILES): Ditto.
+ * config/m68k/linux.mh (NATDEPFILES): Ditto.
+ * config/mips/linux.mh (NATDEPFILES): Ditto.
+ * config/pa/linux.mh (NATDEPFILES): Ditto.
+ * config/powerpc/linux.mh (NATDEPFILES): Ditto.
+ * config/powerpc/ppc64-linux.mh (NATDEPFILES): Ditto.
+ * config/s390/s390.mh (NATDEPFILES): Ditto.
+ * config/sparc/linux.mh (NATDEPFILES): Ditto.
+ * config/sparc/linux64.mh (NATDEPFILES): Ditto.
+ * config/xtensa/linux.mh (NATDEPFILES): Ditto.
+
+
+ * NEWS: Add info macros and info definitions commands.
+
+
+ * NEWS: Document Python prompt substitution hook.
+
+
+ PR macros/12999
+ * macrotab.h (macro_callback_fn): Add new arguments to callback.
+ * macrotab.c (foreach_macro): Ditto.
+ (foreach_macro_in_scope): Ditto.
+ * macrocmd.c (print_macro_callback): New function.
+ (info_macro_command): Move some code to print_macro_definition.
+ (print_macro_definition): New function.
+ (print_one_macro): Add new arguments to callback.
+ (info_definitions_command): New function.
+ (info_macros_command): Ditto.
+ (_initialize_macrocmd): Add info macros and info definitions commands.
+ * symtab.c (add_macro_name): Add new arguments to callback.
+
+
+ * top.c (set_prompt): Rewrite to free previous prompt, free
+ asynch_new_prompt and set both on new prompts.
+ * event-top.c (display_gdb_prompt): Add prompt substitution
+ logic.
+ * python/python.c (before_prompt_hook): New function.
+
+
+ * bfin-tdep.c (bfin_extract_return_value): Fix swapped
+ arguments to store_unsigned_integer.
+
+
+ * dwarf2read.c (process_enumeration_scope): Do not call new_symbol
+ in some declaration-only cases.
+
+
+ PR symtab/12984:
+ * dwarf2read.c (dwarf2_section_info_def): New typedef.
+ (struct dwarf2_per_objfile) <types>: Change to a VEC.
+ (struct dwarf2_per_cu_data) <from_debug_types>: Remove.
+ <debug_type_section>: New field.
+ (dwarf2_locate_sections): Push .debug_types sections onto VEC.
+ (load_cu): Use appropriate section.
+ (create_signatured_type_table_from_index): Add 'section'
+ argument.
+ (dwarf2_read_index): Only allow a single .debug_types section.
+ (dw2_get_file_names): Use appropriate section.
+ (read_type_comp_unit_head): Add 'section' argument.
+ (create_debug_types_hash_table): Loop over all .debug_types
+ sections.
+ (init_cu_die_reader): Use appropriate section.
+ (process_psymtab_comp_unit, load_partial_comp_unit)
+ (load_full_comp_unit, read_die_and_children, find_partial_die)
+ (lookup_die_type, determine_prefix, follow_die_offset): Update.
+ (lookup_signatured_type_at_offset): Add 'section' argument.
+ (read_signatured_type_at_offset): Add 'sect' argument.
+ (read_signatured_type): Use appropriate section.
+ (set_die_type, get_die_type_at_offset): Update.
+ (dwarf2_per_objfile_free): Free all .debug_types sections, and
+ VEC.
+ (write_psymtabs_to_index): Don't allow index with more than one
+ .debug_types section.
+
+
+ Fix crash if referenced CU is aged out.
+ * dwarf2loc.c (per_cu_dwarf_call): New variable back_to, use to for
+ xfree of block.data.
+ (indirect_pieced_value): New variable back_to, use to for xfree of
+ baton.data.
+ (dwarf2_compile_expr_to_ax): New variable back_to, use to for xfree of
+ block.data.
+ * dwarf2read.c (dwarf2_find_base_address): New prototype.
+ (load_cu): New function from ...
+ (dw2_do_instantiate_symtab): ... the code here ...
+ (process_full_comp_unit): ... and here.
+ (dwarf2_fetch_die_location_block): Call load_cu first. Call xmemdup on
+ retval.data.
+
+
+ * dwarf2loc.c (indirect_pieced_value): Use check_typedef for VALUE's
+ type.
+
+
+ * infrun.c (struct execution_control_state): New member
+ stop_func_filled_in.
+ (clear_stop_func, fill_in_stop_func): New functions.
+ (handle_inferior_event): Call clear_stop_func rather than
+ manipulating the execution control state directly.
+ Call fill_in_stop_func lazily as required rather than
+ directly calling find_pc_partial_function in all cases.
+
+
+ * dwarf2read.c (read_subrange_type): Use attr_form_is_block when
+ checking for variable-sized array.
+
+
+ * varobj.h (varobj_languages): Add vlang_ada definition to the list
+ of supported languages.
+ * varobj.c: Add top definitions and basic implementation of the
+ following callbacks: ada_number_of_children, ada_name_of_variable,
+ ada_name_of_child, ada_path_expr_of_child, ada_value_of_root,
+ ada_value_of_child, ada_type_of_child, ada_value_of_variable.
+ (languages): Register Ada-specific callbacks.
+ (variable_language): Add the Ada case in the language setter switch.
+
+
+ * remote-mips.c (pmon_download): Fix ignored return value GCC warning.
+
+
+ Code cleanup.
+ * dwarf2-frame.c (dwarf2_frame_ctx_funcs): New.
+ (execute_stack_op): Use dwarf2_frame_ctx_funcs
+ * dwarf2expr.c (dwarf_get_base_type): Access get_base_type via funcs.
+ (execute_stack_op): Access read_reg, get_frame_base, read_mem,
+ get_frame_cfa, get_tls_address and dwarf_call via funcs.
+ * dwarf2expr.h (struct dwarf_expr_context): New forward declaration.
+ (struct dwarf_expr_context_funcs): New, move here methods from ...
+ (struct dwarf_expr_context): ... here. New fields funcs.
+ * dwarf2loc.c (dwarf_expr_dwarf_call): Access get_frame_pc via funcs.
+ (dwarf_expr_ctx_funcs): New.
+ (dwarf2_evaluate_loc_desc_full): Use dwarf_expr_ctx_funcs.
+ (needs_frame_dwarf_call): Access get_frame_pc via funcs.
+ (needs_frame_ctx_funcs): New.
+ (dwarf2_loc_desc_needs_frame): Use needs_frame_ctx_funcs.
+
* MAINTAINERS (Write After Approval): Add myself to the list.