X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FChangeLog;h=ac421f1782a527002c138b2603b6b945a3215bac;hb=5e239b84ac58a9edfc0d942ef751a78aac4c007b;hp=e8b5d057c360c5e52fe008a8fa9ddcf2d85e83b8;hpb=1ced966e3458bf3db742913f4d0a55549824e298;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e8b5d057c3..ac421f1782 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,766 @@ +2011-08-09 Phil Muldoon + + * 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. + +2011-08-08 Jan Kratochvil + + * dwarf2loc.c (dwarf2_evaluate_loc_desc_full) + (dwarf2_evaluate_loc_desc_full) : New variable + objfile_gdbarch. Fix BFD_ENDIAN_BIG case. + +2011-08-08 Tom Tromey + + * breakpoint.c (clean_up_filters): Remove. + (catch_syscall_split_args): Use VEC_cleanup. + +2011-08-06 Jan Kratochvil + + * cp-name-parser.y (xfree): Wrap the name free by CONCAT2. + (main): Uncomment "Demangling error\n". + +2011-08-05 Paul Pluzhnikov + + * 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. + +2011-08-05 Pedro Alves + + * 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. + +2011-08-05 Eli Zaretskii + + * 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. + +2011-08-05 Jan Kratochvil + + * 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. + +2011-08-04 Pedro Alves + + * 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. + +2011-08-04 Pedro Alves + + * 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. + +2011-08-04 Pedro Alves + + * 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. + +2011-08-03 Philippe Waroquiers + + * 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. + +2011-08-03 Jan Kratochvil + + * stack.c (print_frame_arguments_choices): Comment typo fix. + +2011-08-01 Thiago Jung Bauermann + + Revert: + 2011-07-31 Thiago Jung Bauermann + * breakpoint.c (insert_bp_location): Remove disabled_breaks + argument. Update callers. + +2011-08-01 Paul Pluzhnikov + + PR gdb/13045 + * doublest.c (convert_doublest_to_floatformat): Pass correct + mantissa length to put_field. + +2011-08-01 Jan Kratochvil + + * 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. + +2011-08-01 Jan Kratochvil + + 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. + +2011-08-01 Tristan Gingold + + * darwin-nat.c (darwin_decode_exception_message): Adjust assertion. + +2011-07-31 Thiago Jung Bauermann + + * breakpoint.c (insert_bp_location): Document return value. + (insert_breakpoint_locations): Fix documentation. + (remove_breakpoints): Add documentation. + +2011-07-31 Thiago Jung Bauermann + + * breakpoint.c (insert_bp_location): Remove disabled_breaks + argument. Update callers. + +2011-07-30 Jan Kratochvil + + * stack.c (print_frame_info): Comment typo fix. + +2011-07-29 Sterling Augustine + + * MAINTAINERS (Write After Approval): Add myself to the list. + +2011-07-29 Tom Tromey + + * solib-target.c: Use DEF_VEC_I, not DEF_VEC_O. + (library_list_start_segment): Update. + (library_list_start_section): Update. + +2011-07-28 Phil Muldoon + + * varobj.c (value_get_print_value): Move hint check later into the + function. Comment function. Free thevalue before reusing it. + +2011-07-27 Jan Kratochvil + Pedro Alves + + * 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. + +2011-07-27 Jan Kratochvil + + Fix crash on lval_computed values. + * valops.c (value_zero): Use not_lval for lval_computed. + +2011-07-27 Tom Tromey + + * Makefile.in (HFILES_NO_SRCDIR): Add 'common' prefix for + gdb_assert.h, gdb_locale.h, gdb_dirent.h. + +2011-07-27 Jan Kratochvil + + * typeprint.c (_initialize_typeprint): Extend the help of "whatis" and + "ptype" by their typedefs difference. + +2011-07-27 Jan Kratochvil + + * 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. + +2011-07-27 Jan Kratochvil + + * 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. + +2011-07-27 Tom Tromey + + * xcoffread.c (dwarf2_xcoff_names): Add 'macro' and 'sentinel' + entries. + * symfile.h (struct dwarf2_debug_sections) : New field. + * dwarf2read.c (dwarf2_elf_names): Add sentinel entry. + +2011-07-26 Sterling Augustine + + * cli/cli-dump.c (dump_binary_file): Change parameter type to + ULONGEST. + (dump_bfd_file): Likewise. + +2011-07-26 Philippe Waroquiers + + * 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. + +2011-07-26 Pedro Alves + + * breakpoint.c (works_in_software_mode_watchpoint): Also return + true for software watchpoints. + +2011-07-26 Joel Brobecker + + GDB 7.3 released. + +2011-07-26 Tom Tromey + + * symfile.h (struct dwarf2_debug_sections) : 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) : 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. + +2011-07-26 Paul Pluzhnikov + + * 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. + +2011-07-26 Paul Pluzhnikov + + * 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. + +2011-07-25 Jan Kratochvil + + Fix implicit pointer offsets. + * dwarf2loc.c (indirect_pieced_value): Comment byte_offset. Use also + ptr.OFFSET. + +2011-07-25 Tom Tromey + + * 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) : Now const. + (init_ada_exception_breakpoint, create_breakpoint): Make 'ops' + const. + +2011-07-25 Paul Pluzhnikov + + * linux-thread-db.c (thread_from_lwp): Initialize th.th_unique. + +2011-07-25 Pedro Alves + + * 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. + +2011-07-25 Pedro Alves + + * 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. + +2011-07-25 Pedro Alves + + * 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. + +2011-07-25 Pedro Alves + + * breakpoint.c (bkpt_print_it, internal_bkpt_print_it) + (momentary_bkpt_print_it): Simplify. + +2011-07-25 Pedro Alves + + 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. + +2011-07-25 Pedro Alves + + 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. + +2011-07-15 Philippe Waroquiers + + * MAINTAINERS (Write After Approval): Add myself to the list. + +2011-07-23 Paul Pluzhnikov + + * elfread.c (elf_rel_plt_read): Fix off-by-one bug. + 2011-07-22 Pedro Alves * i386-nat.c (I386_DR_VACANT, I386_DR_LOCAL_ENABLE)