X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FChangeLog;h=339c2d16ca0bfb533d7a2229cb1b2917a880c1b6;hb=7f86f0587f4dedecb5dffdbe6484cd25eb9a6966;hp=120328a350098a9f997f149705fab08dc0837b82;hpb=9b158ba08eb1ad14dc2324b8391263b228fa928a;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 120328a350..339c2d16ca 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,943 @@ +2011-08-09 Pedro Alves + + * elfread.c (elf_symtab_read): Ditto. + * 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): Rework comments. + * 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. + +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) + (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. + +2011-07-22 Tom Tromey + + * 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. + +2011-07-22 Phil Muldoon + + * 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. + +2011-07-22 Kwok Cheung Yeung + + * 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. + +2011-07-21 Matt Rice + + * NEWS: Add info macros and info definitions commands. + +2011-07-21 Phil Muldoon + + * NEWS: Document Python prompt substitution hook. + 2011-07-18 Matt Rice PR macros/12999