aboutsummaryrefslogtreecommitdiff
path: root/gdb/breakpoint.c
AgeCommit message (Collapse)AuthorFilesLines
2009-03-232009-03-23 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov1-20/+14
* breakpoint.c (disable_breakpoints_in_unloaded_shlib): Use solib_contains_address_p instead of searching.
2009-03-22gdb/Pedro Alves1-0/+27
* mi/mi-interp.c (mi_interpreter_init): Attach mi_about_to_proceed to the about_to_proceed observer notification. (mi_about_to_proceed): New. (mi_on_resume): Only output ^running and the prompt here if the target was proceeded. * breakpoint.c (breakpoint_proceeded): New static. (breakpoint_about_to_proceed): New. (_initialize_breakpoints): Attach breakpoint_about_to_proceed to the about_to_proceed observer notification. * inferior.h (breakpoint_proceeded): Delete declaration. * infrun.c (clear_proceed_status): Don't set breakpoint_proceeded. Notify the about_to_proceed observers. (struct inferior_status): Delete breakpoint_proceeded member. (save_inferior_status): Don't save it. (restore_inferior_status): Don't restore it. * mi-main.h (mi_proceeded): Declare. * mi/mi-main.c (mi_cmd_execute): Clear mi_proceeded before running a command. gdb/doc/ * observer.texi (about_to_proceed): New.
2009-03-18 * breakpoint.c (bpstat_should_step): Only consider softwarePedro Alves1-1/+1
watchpoints that have a location.
2009-03-11 * breakpoint.c (bpstat_check_breakpoint_conditions): UseDaniel Jacobowitz1-1/+8
value_mark and value_free_to_mark. * objfiles.c (free_objfile): Call objfile_free_data before freeing the BFD.
2009-03-062009-03-06 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov1-4/+4
Rename solib_address to solib_name_from_address. * breakpoint.c (insert_bp_location, disable_breakpoints_in_shlibs) (disable_breakpoints_in_unloaded_shlib): Update. * printcmd.c (display_uses_solib_p): Likewise. * stack.c (print_frame): Likewise. * solib.c: Rename. * solib.h: Rename.
2009-03-05gdb/Pedro Alves1-3/+4
2009-03-05 Pedro Alves <pedro@codesourcery.com> * breakpoint.c (check_duplicates_for): Skip permanent breakpoints duplicates of permanent breakpoints. gdb/testsuite/ 2009-03-05 Pedro Alves <pedro@codesourcery.com> * gdb.arch/i386-permbkpt.S, gdb.arch/i386-permbkpt.exp: New.
2009-02-26 * breakpoint.c (insert_bp_location): Add \n to overlay breakpointDoug Evans1-2/+2
error message.
2009-02-25 * breakpoint.c (disable_breakpoints_in_shlibs): Delete localDoug Evans1-1/+0
disabled_shlib_breaks, unused.
2009-02-212008-02-21 Pedro Alves <pedro@codesorcery.com>Pedro Alves1-2/+3
Silence a few -Wmissing-prototypes warnings. PR build/9877: * amd64-nat.c: Include "amd64-nat.h". * fork-child.c (_initialize_fork_child): Ditto. * gcore.c (_initialize_gcore): Ditto. * inf-ptrace.c: Include "inf-ptrace.h". (inf_ptrace_store_registers): Make it static. * linux-nat.c (linux_nat_terminal_ours): Make it static. (_initialize_linux_nat): Declare before definition. * linux-tdep.c: Include "linux-tdep.h". * linux-thread-db.c (_initialize_thread_db): Declare before definition. * proc-service.c (_initialize_proc_service): Ditto. * remote.c (remote_send_printf): Make it static. * solib.c: Include "solib.h". * symfile-mem.c (_initialize_symfile_mem): Declare before definition. * ada-lang.c (ada_la_decode, ada_match_name) (ada_suppress_symbol_printing, ada_is_array_type) (ada_value_ptr_subscript, ada_array_length) (ada_to_static_fixed_value): Make them static. (_initialize_ada_language): Declare before definition. * ada-tasks.c (ada_get_task_number, ada_get_environment_task) (ada_task_list_changed, ada_new_objfile_observer): Make them static. (_initialize_tasks): Declare before definition. * addrmap.c (_initialize_addrmap): Declare before definition. * auxv.c (default_auxv_parse): Make it static. * bfd-target.c (target_bfd_xfer_partial, target_bfd_xclose): Make them static. * breakpoint.c (remove_sal): Add line break. (expand_line_sal_maybe): Make it static. * cp-name-parser.y: Include "cp-support.h". * cp-valprint.c (cp_find_class_member): Make it static. * eval.c (value_f90_subarray): Ditto. * exceptions.c (print_any_exception): Ditto. * findcmd.c (_initialize_mem_search): Declare before definition. * frame.c (frame_observer_target_changed): Make it static. * gnu-v3-abi.c (gnuv3_find_method_in): Make it static. * inf-child.c: Include "inf-child.h". * inferior.h (valid_inferior_id): Rename to ... (valid_gdb_inferior_id): ... this. * infrun.c (infrun_thread_stop_requested, siginfo_make_value): Make them static. * jv-lang.c (java_language_arch_info): Make it static. * m2-typeprint.c (m2_get_discrete_bounds): Ditto. * osdata.c (info_osdata_command): Make it static. * regcache.c (regcache_observer_target_changed): Make it static. * reverse.c (_initialize_reverse): Declare before definition. * stabsread.c (cleanup_undefined_types_noname) (cleanup_undefined_types_1): Make them static. * symfile.c (place_section): Make it static. * symtab.c (find_pc_sect_psymtab_closer): Make it static. * target-descriptions.c (_initialize_target_descriptions): Declare before definition. * target.c (default_get_ada_task_ptid, find_default_can_async_p) (find_default_is_async_p, find_default_supports_non_stop): Make them static. (target_supports_non_stop): Add prototype. (dummy_pid_to_str): Make it static. * utils.c (_initialize_utils): Declare before definition. * ada-exp.y (_initialize_ada_exp): Declare before definition. * solib-svr4.c (HAS_LM_DYNAMIC_FROM_LINK_MAP): Add a prototype. * target.h (struct target_ops): Add a prototype to the to_can_execute_reverse callback. * macroscope.c (_initialize_macroscope): Declare before definition. * cp-namespace.c (_initialize_cp_namespace): Declare before definition. * python/python.c (_initialize_python): Declare before definition. * tui/tui-command.c: Include "tui/tui-command.h". * tui/tui-data.c (init_content_element, init_win_info): Make them static. * tui/tui-disasm.c: Include "tui/tui-disasm.h". * tui/tui-interp.c (_initialize_tui_interp): Declare before definition. * tui/tui-layout.c: Include "tui/tui-layout.h". (_initialize_tui_layout): Declare before definition. * tui/tui-regs.c: Include "tui/tui-regs.h". (tui_display_reg_element_at_line): Make it static. (_initialize_tui_regs): Declare before definition. * tui/tui-stack.c (_initialize_tui_stack): Declare before definition. * tui/tui-win.c: Include "tui/tui-win.h". (_initialize_tui_win): Declare before definition. (tui_sigwinch_handler): Make it static. Wrap in ifdef SIGWINCH. * tui/tui-win.h (tui_sigwinch_handler): Delete declaration. (tui_get_cmd_list): Add a prototype. * tui/tui-windata.c: Include tui-windata.h. * tui/tui-wingeneral.c (box_win): Make it static. * cli/cli-logging.c (show_logging_command): Make it static. (_initialize_cli_logging): Declare before definition. * mi/mi-common.c (_initialize_gdb_mi_common): Declare before definition.
2009-02-18 * mi/mi-interp.c (mi_solib_loaded, mi_solib_unloaded): New.Vladimir Prus1-0/+8
(mi_interpreter_init): Register the above. * solib.c (clear_solib): Notify solib unload. * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Do not disable breakpoints on a.out targets.
2009-02-052009-01-07 Pierre Muller <muller@ics.u-strasbg.fr>Tom Tromey1-16/+12
Tom Tromey <tromey@redhat.com> PR breakpoints/8079: * breakpoint.c (print_one_breakpoint): Use exp_string field to display expression of watchpoints. (mention): Likewise. (watch_command_1): Remove trailing whitespace from expression. * printcmd.c (struct display) <exp_string>: New field. (display_command): Set exp_string. (free_display): Free exp_string. (clear_displays): Use free_display. (do_one_display): Print exp_string. (display_info): Likewise.
2009-02-03 * breakpoint (update_watchpoint): Minor comment adjustment.Joel Brobecker1-2/+2
2009-01-30 * breakpoint.c (create_breakpoint, create_breakpoints)Vladimir Prus1-10/+15
(break_command_really, set_breakpoint): New parameter enabled. (create_breakpoint, break_command_really): Make breakpoint disabled if so requested. * breakpoint.h (set_breakpoint): New parameter enabled. * mi/mi-cmd-break.c (mi_cmd_break_insert): Handle the -d option.
2009-01-08 PR breakpoints/9350:Tom Tromey1-28/+50
* varobj.c (varobj_invalidate): Unconditionally free all_rootvarobj. * symfile.c (syms_from_objfile): Free local_addr when returning normally. * exec.c (exec_file_attach): Do cleanups before returning. (exec_file_command): Likewise. * corefile.c (reopen_exec_file): Do cleanups before returning. * breakpoint.c (insert_breakpoint_locations): Do cleanups before returning. (do_vec_free): New function. (update_global_location_list): Make a cleanup for old_locations. Do cleanups before returning. Remove unused variable 'e'. (find_condition_and_thread): Free result of parsing the expression. (print_it_typical): Do cleanups before returning. (breakpoint_re_set_one): Always free sals.sals.
2009-01-08* breakpoint.c (do_enable_breakpoint): Use update_watchpoint forEmi Suzuki1-46/+8
watchpoints.
2009-01-07gdb/Pedro Alves1-14/+5
2009-01-07 Pedro Alves <pedro@codesourcery.com> Delete ONE_PROCESS_WRITETEXT leftovers. * breakpoint.c (insert_bp_location): Delete process_warning argument. Adjust. (insert_breakpoint_locations): Adjust. (reattach_breakpoints): Adjust. * infrun.c (normal_stop): Drop "It might be running in another process" notice. gdb/doc/ 2009-01-07 Pedro Alves <pedro@codesourcery.com> * gdb.texinfo (Error in Breakpoints): Delete mention of "The same program may be running in another process" errors. * gdbint.texinfo (Native Conditionals): Delete ONE_PROCESS_WRITETEXT description.
2009-01-03 Updated copyright notices for most files.Joel Brobecker1-1/+1
2009-01-012009-01-01 Pedro Alves <pedro@codesourcery.com>Pedro Alves1-2/+22
PR breakpoints/9681: * exceptions.h (enum errors): New error type, MEMORY_ERROR. * corefile.c (memory_error): Rewrite to throw a MEMORY_ERROR. * breakpoint.c (fetch_watchpoint_value): Ignore MEMORY_ERRORs, but retrow all other exceptions. 2009-01-01 Pedro Alves <pedro@codesourcery.com> PR breakpoints/9681: * gdb.base/watchpoint.exp: Add regression test.
2008-12-262008-12-26 Sandra Loosemore <sandra@codesourcery.com>Sandra Loosemore1-6/+10
gdb/ * breakpoint.c (update_watchpoint): Refactor to avoid compiler warning.
2008-12-22 * breakpoint.c (update_watchpoint): Adjust and extend the descriptionJoel Brobecker1-7/+8
of this function. Fix one error message accordingly.
2008-12-21gdb/Jan Kratochvil1-0/+21
Fix hw watchpoints created before the inferior was started. * breakpoint.c (update_watchpoint): Convert the bp_watchpoint and bp_hardware_watchpoint types according to the current runtime state. gdb/testsuite/ * gdb.base/watchpoint-hw.exp, gdb.base/watchpoint-hw.c: New.
2008-12-08 Fix loc_type of `bp_location's created by update_watchpoint.Jan Kratochvil1-13/+11
* breakpoint.c (allocate_bp_location): Remove the bp_type parameter. Replace bp_type by bpt->type. Update prototype. All callers updated. (add_location_to_breakpoint): Remove the bp_type parameter. Replace bp_type by b->type. All callers updated. (set_breakpoint_location_function): Replace bptype by b->type.
2008-12-07 * breakpoint.c (update_global_location_list): Fix the comment.Jan Kratochvil1-1/+1
2008-11-26 Fix automatic restoration of breakpoints memory for ia64.Jan Kratochvil1-2/+15
* ia64-tdep.c: New #if check on BREAKPOINT_MAX vs. BUNDLE_LEN. (ia64_memory_insert_breakpoint): New comment part for SHADOW_CONTENTS content. Remove variable instr. New variable cleanup. Force automatic breakpoints restoration. PLACED_SIZE and SHADOW_LEN are now set larger, to BUNDLE_LEN - 2. Variable `bundle' type update. Return error if even just final target_write_memory has failed. (ia64_memory_remove_breakpoint): Rename variables bundle to bundle_mem and instr to instr_saved. New variables bundle_saved and instr_breakpoint. Comment new reasons why we need to disable automatic restoration of breakpoints. Assert PLACED_SIZE and SHADOW_LEN. New check of the original memory content. Return error if even just final target_write_memory has failed. (ia64_breakpoint_from_pc): Implement the emulation of permanent breakpoints compatible with current bp_loc_is_permanent. (template_encoding_table): Make it `const'. * breakpoint.c (bp_loc_is_permanent): Support unsupported software breakpoints. New variables `cleanup' and `retval'. * monitor.c (monitor_insert_breakpoint): Remove unused variable `bp'.
2008-11-22 Remove the unused BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK.Joel Brobecker1-26/+18
* breakpoint.h (enum bpstat_what_main_action): Remove BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK. * breakpoint.c (bpstat_what): Delete catch_shlib_event from enum class. Remove the BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK column from variable table. * infrun.c (wait_for_inferior): Remove handling of BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK.
2008-11-16 Remove some unused macros related to the old load/unload catchpoints.Joel Brobecker1-53/+0
* breakpoint.c (SOLIB_LOADED_LIBRARY_PATHNAME) (SOLIB_UNLOADED_LIBRARY_PATHNAME, SOLIB_CREATE_CATCH_LOAD_HOOK) (SOLIB_CREATE_CATCH_UNLOAD_HOOK): Delete. No longer used.
2008-11-16 Remove support for catch load and catch unload commands.Joel Brobecker1-281/+1
* breakpoint.h (enum bptype): Remove bp_catch_load and bp_catch_unload. (struct breakpoint): Remove fields dll_pathname and triggered_dll_pathname. (bpstat_get_triggered_catchpoints, ep_is_shlib_catchpoint): Delete. * breakpoint.c (ep_is_catchpoint): Remove handling of bp_catch_load and bp_catch_unload. (print_it_typical, bpstat_check_location, bpstat_what) (print_one_breakpoint_location, print_one_breakpoint_location) (user_settable_breakpoint, allocate_bp_location) (set_raw_breakpoint_without_location, mention, delete_breakpoint, (breakpoint_re_set_one, disable_command, enable_command): Likewise. (ep_is_shlib_catchpoint, bpstat_get_triggered_catchpoints) (catch_load_command_1, catch_unload_command_1): Delete. (_initialize_breakpoint): Remove the "catch load" and "catch unload" command creation. * infrun.c (handle_inferior_event): Remove the handling of load/unload catchpoint events.
2008-11-03 * remote.c (remote_start_remote): If the solib list is global,Pedro Alves1-4/+13
fetch libraries and insert breakpoints after connecting. * infcmd.c (post_create_inferior): If the solist is shared between inferiors, no need to refetch it on every new inferior. (detach_command): If the shared library list is shared between inferiors, then don't clear it on every inferior detach. * gdbarch.sh (has_global_solist): New. * i386-dicos-tdep.c (i386_dicos_init_abi): Set gdbarch_has_global_solist. * target.c (target_pre_inferior): If the shared library list is shared between inferiors, then don't clear it here, neither invalidate the memory regions or clear the target description. (target_detach): If the shared library list is shared between inferiors, then don't remove breakpoints from the target here. (target_disconnect): Comment. * solib.c (update_solib_list): Check for null_ptid. * breakpoint.c (insert_breakpoints, update_global_location_list): If the shared library list is shared between inferiors, insert breakpoints even if there's no execution. (breakpoint_init_inferior): If the shared library list is shared between inferiors, don't delete breakpoints or mark them uninserted here. * gdbarch.c, gdbarch.h: Regenerate.
2008-10-30 * breakpoint.h (enum bptype): Delete bp_catch_exec.Joel Brobecker1-109/+72
* breakpoint.c (insert_catchpoint): Remove handling for bp_catch_exec breakpoint kinds. (insert_bp_location, update_breakpoints_after_exec, remove_breakpoint) (ep_is_catchpoint, print_it_typical, bpstat_check_location), (bpstat_check_location, bpstat_what, print_one_breakpoint_location) (print_one_breakpoint_location, user_settable_breakpoint) (breakpoint_address_is_meaningful, adjust_breakpoint_address) (allocate_bp_location, mention, breakpoint_re_set_one) (disable_command, enable_command): Likewise. (create_exec_event_catchpoint): Delete. (insert_catch_exec, remove_catch_exec, breakpoint_hit_catch_exec) (print_it_catch_exec, print_one_catch_exec, print_mention_catch_exec): New functions. (catch_exec_breakpoint_ops): New static global. (catch_exec_command_1): Use create_catchpoint instead of create_exec_event_catchpoint to create the exec catchpoint.
2008-10-28gdbTom Tromey1-14/+35
* varobj.c (value_get_print_value): Include valprint.h. (value_get_print_value): Use get_formatted_print_options. * value.h (struct value_print_options): Declare. (value_print, val_print, common_val_print, val_print_string): Update. * value.c: Include valprint.h. (show_values): Use get_user_print_options. (show_convenience): Likewise. * valprint.h (prettyprint_arrays, prettyprint_structs): Don't declare. (struct value_print_options): New type. (vtblprint, unionprint, addressprint, objectprint, print_max, inspect_it, repeat_count_threshold, output_format, stop_print_at_null): Don't declare. (user_print_options, get_user_print_options, get_raw_print_options, get_formatted_print_options): Declare. (print_array_indexes_p): Don't declare. (maybe_print_array_index, val_print_array_elements): Update. * valprint.c (print_max): Remove. (user_print_options): New global. (get_user_print_options, get_raw_print_options, get_formatted_print_options): New functions. (print_array_indexes, repeat_count_threshold, stop_print_at_null, prettyprint_structs, prettyprint_arrays, unionprint, addressprint): Remove. (val_print): Remove format, deref_ref, pretty arguments; add options. Update. (common_val_print): Likewise. (print_array_indexes_p): Remove. (maybe_print_array_index): Remove format, pretty arguments; add options. Update. (val_print_array_elements): Remove format, deref_ref, pretty arguments; add options. Update. (val_print_string): Add options argument. Update. (_initialize_valprint): Use user_print_options. (output_format): Remove. (set_output_radix_1): Use user_print_options. * typeprint.c: Include valprint.h. (objectprint): Don't declare. (whatis_exp): Use get_user_print_options. * tui/tui-regs.c: Include valprint.h. (tui_register_format): Use get_formatted_print_options. * tracepoint.c: Include valprint.h. (addressprint): Don't declare. (trace_mention): Use get_user_print_options. (tracepoints_info): Likewise. * stack.c (print_frame_args): Use get_raw_print_options. (print_frame_info): Use get_user_print_options. (print_frame): Likewise. * sh64-tdep.c: Include valprint.h (sh64_do_register): Use get_formatted_print_options. * scm-valprint.c (scm_inferior_print): Remove format, deref_ref, pretty arguments; add options. (scm_scmlist_print): Likewise. Update. (scm_scmval_print): Likewise. (scm_val_print): Likewise. (scm_value_print): Remove format, pretty arguments; add options. Update. * scm-lang.h (scm_value_print, scm_val_print, scm_scmval_print): Update. * scm-lang.c (scm_printstr): Add options argument. * python/python-value.c: Include valprint.h. (valpy_str): Use get_user_print_options. * printcmd.c: Include valprint.h. (addressprint): Don't declare. (inspect_it): Remove. (print_formatted): Remove format option; add options. Update. (print_scalar_formatted): Likewise. (print_address_demangle): Use get_user_print_options. (do_examine): Use get_formatted_print_options. (print_command_1): Likewise. (output_command): Use get_formatted_print_options. (do_one_display): Likewise. (print_variable_value): Use get_user_print_options. * p-valprint.c (pascal_val_print): Remove format, deref_ref, pretty arguments; add options. Update. (pascal_value_print): Remove format, pretty arguments; add options. Update. (vtblprint, objectprint): Don't declare. (pascal_static_field_print): Remove. (pascal_object_print_value_fields): Remove format, pretty arguments; add options. Update. (pascal_object_print_static_field): Likewise. (_initialize_pascal_valprint): Use user_print_options. Update. * p-lang.h (pascal_val_print, pascal_value_print, pascal_printstr, pascal_object_print_value_fields): Update. (vtblprint, static_field_print): Don't declare. * p-lang.c (pascal_printstr): Add options argument. Update. * objc-lang.c (objc_printstr): Add options argument. Update. * mt-tdep.c: Include valprint.h. (mt_registers_info): Use get_raw_print_options. * mips-tdep.c: Include valprint.h. (mips_print_fp_register): Use get_formatted_print_options. (mips_print_register): Likewise. * mi/mi-main.c: Include valprint.h. (get_register): Use get_user_print_options. (mi_cmd_data_evaluate_expression): Likewise. (mi_cmd_data_read_memory): Use get_formatted_print_options. * mi/mi-cmd-stack.c: Include valprint.h. (list_args_or_locals): Use get_raw_print_options. * m2-valprint.c (print_function_pointer_address): Add addressprint argument. (m2_print_long_set): Remove format, pretty arguments. (m2_print_unbounded_array): Remove format, deref_ref, pretty arguments; add options. Update. (print_unpacked_pointer): Remove format argument; add options. Now static. Update. (print_variable_at_address): Remove format, deref_ref, pretty arguments; add options. Update. (m2_print_array_contents): Likewise. (m2_val_print): Likewise. * m2-lang.h (m2_val_print): Update. * m2-lang.c (m2_printstr): Add options argument. Update. * language.h (struct value_print_options): Declare. (struct language_defn) <la_printstr>: Add options argument. <la_val_print>: Remove format, deref_ref, pretty argument; add options. <la_value_print>: Remove format, pretty arguments; add options. <la_print_array_index>: Likewise. (LA_VAL_PRINT, LA_VALUE_PRINT, LA_PRINT_STRING, LA_PRINT_ARRAY_INDEX): Update. (default_print_array_index): Update. * language.c (default_print_array_index): Remove format, pretty arguments; add options. Update. (unk_lang_printstr): Add options argument. (unk_lang_val_print): Remove format, deref_ref, pretty arguments; add options. (unk_lang_value_print): Remove format, pretty arguments; add options. * jv-valprint.c (java_value_print): Remove format, pretty arguments; add options. Update. (java_print_value_fields): Likewise. (java_val_print): Remove format, deref_ref, pretty arguments; add options. Update. * jv-lang.h (java_val_print, java_value_print): Declare. * infcmd.c: Include valprint.h. (print_return_value): Use get_raw_print_options. (default_print_registers_info): Use get_user_print_options, get_formatted_print_options. (registers_info): Use get_formatted_print_options. * gdbtypes.h (struct value_print_options): Declare. (print_scalar_formatted): Update. * f-valprint.c (f77_print_array_1): Remove format, deref_ref, pretty arguments; add options. Update. (f77_print_array): Likewise. (f_val_print): Likewise. * f-lang.h (f_val_print): Update. * f-lang.c (f_printstr): Add options argument. Update. (c_value_print): Update declaration. * expprint.c: Include valprint.h. (print_subexp_standard): Use get_raw_print_options, get_user_print_options. * eval.c: Include valprint.h. (objectprint): Don't declare. (evaluate_subexp_standard): Use get_user_print_options. * cp-valprint.c (vtblprint, objectprint, static_field_print): Remove. (cp_print_value_fields): Remove format, pretty arguments; add options. Update. (cp_print_value): Likewise. (cp_print_static_field): Likewise. (_initialize_cp_valprint): Use user_print_options. Update. * c-valprint.c (print_function_pointer_address): Add addressprint argument. (c_val_print): Remove format, deref_ref, pretty arguments; add options. Update. (c_value_print): Add options argument. Update. * c-lang.h (c_val_print, c_value_print, c_printstr): Update. (vtblprint, static_field_print): Don't declare. (cp_print_value_fields): Update. * c-lang.c (c_printstr): Add options argument. Update. * breakpoint.c: Include valprint.h. (addressprint): Don't declare. (watchpoint_value_print): Use get_user_print_options. (print_one_breakpoint_location): Likewise. (breakpoint_1, print_it_catch_fork, print_it_catch_vfork, mention, print_exception_catchpoint): Likewise. * auxv.c (fprint_target_auxv): Don't declare addressprint. Use get_user_print_options. * ada-valprint.c (struct ada_val_print_args): Remove format, deref_ref, and pretty; add options. (print_optional_low_bound): Add options argument. (val_print_packed_array_elements): Remove format and pretty arguments; add options. Update. (printstr): Add options argument. Update. (ada_printstr): Likewise. (ada_val_print): Remove format, deref_ref, pretty arguments; add options argument. Update. (ada_val_print_stub): Update. (ada_val_print_array): Remove format, deref_ref, pretty arguments; add options. Update. (ada_val_print_1): Likewise. (print_variant_part): Likewise. (ada_value_print): Remove format, pretty arguments; add options. Update. (print_record): Likewise. (print_field_values): Likewise. * ada-lang.h (ada_val_print, ada_value_print, ada_printstr): Update. * ada-lang.c (ada_print_array_index): Add options argument; remove format and pretty arguments. (print_one_exception): Use get_user_print_options. gdb/testsuite * gdb.base/exprs.exp (test_expr): Add enum formatting tests.
2008-10-172008-10-17 Michael Snyder <msnyder@vmware.com>Michael Snyder1-0/+7
Target interface for reverse debugging. * target.h (enum target_waitkind): Add new wait event, TARGET_WAITKIND_NO_HISTORY. (struct target_ops): New method to_can_execute_reverse. (target_can_execute_reverse): New macro. * target.c (update_current_target): Inherit to_can_execute_reverse. Remote interface for reverse debugging. * remote.c (remote_can_execute_reverse): New target method. (remote_resume): Check for reverse exec direction, and send appropriate command to target. (remote_wait_as): Check target response for NO_HISTORY status. Also check for empty reply (target doesn't understand "bs" or "bc). (remote_vcont_resume): Jump out if attempting reverse execution. Event handling interface for reverse debugging. * infrun.c (execution_direction): New state variable. (enum inferior_stop_reason): Add NO_HISTORY reason. (handle_inferior_event): Handle TARGET_WAITKIND_NO_HISTORY. Handle stepping over a function call in reverse. Handle stepping thru a line range in reverse. Handle setting a step-resume breakpoint in reverse. Handle stepping into a function in reverse. Handle stepping between line ranges in reverse. (print_stop_reason): Print reason for NO_HISTORY. (step_into_function): Rename to handle_step_into_function. (handle_step_into_function_backward): New function. (set_exec_direction_func, show_exec_direction_func): New funcs. (proceed): No need to singlestep over a breakpoint when resuming in reverse. * inferior.h (enum exec_direction_kind): New enum. (execution_direction): Export new execution state variable. * breakpoint.c (make_breakpoint_silent): New function. * breakpoint.h (make_breakpoint_silent): Export. * infcmd.c (finish_command): Check for reverse exec direction. (finish_backward): New function, handle finish cmd in reverse. User interface for reverse execution. * Makefile.in (reverse.c): New file. * reverse.c: New file. User interface for reverse execution.
2008-10-16 * breakpoint.h (enum bptype): New enum bp_catchpoint.Joel Brobecker1-125/+237
Delete bp_catch_fork and bp_catch_vfork. (struct breakpoint_ops): Add new methods "insert", "remove" and "breakpoint_hit". * breakpoint.c (create_fork_vfork_event_catchpoint) (create_fork_event_catchpoint, create_vfork_event_catchpoint): Remove. (insert_catchpoint): Remove handling of bp_catch_fork and bp_catch_vfork catchpoints, and handle them as bp_catchpoint catchpoints instead. (insert_bp_location, update_breakpoints_after_exec) (remove_breakpoint, bpstat_check_location, bpstat_what) (allocate_bp_location): Likewise. (print_it_typical, print_one_breakpoint_location, mention): Remove handling of bp_catch_fork and bp_catch_vfork breakpoints. (ep_is_catchpoint, user_settable_breakpoint) (breakpoint_address_is_meaningful, adjust_breakpoint_address) (breakpoint_re_set_one, disable_command, enable_command): Remove use of bp_catch_fork and bp_catch_vfork. Add handling of bp_catchpoint breakpoints. (insert_catch_fork, remove_catch_fork, breakpoint_hit_catch_fork) (print_it_catch_fork, print_one_catch_fork, print_mention_catch_fork): New functions. (catch_fork_breakpoint_ops): New static constant. (insert_catch_vfork, remove_catch_vfork, breakpoint_hit_catch_vfork) (print_it_catch_vfork, print_one_catch_vfork) (print_mention_catch_vfork): New functions. (catch_vfork_breakpoint_ops): New static constant. (create_catchpoint, create_fork_vfork_event_catchpoint): New functions. (catch_fork_command_1): Use create_fork_vfork_event_catchpoint to create the fork and vfork catchpoints. (gnu_v3_exception_catchpoint_ops): Set new breakpoint_ops fields. * ada-lang.c (catch_exception_breakpoint_ops): Set new breakpoint_ops fields. (catch_exception_unhandled_breakpoint_ops): Likewise. (catch_assert_breakpoint_ops): Likewise.
2008-10-15gdb/Pedro Alves1-8/+30
* breakpoint.c (breakpoint_init_inferior): Clean up the moribund locations list. (moribund_breakpoint_here_p): Record the moribund location in the moribund_locations vector. * breakpoint.h (moribund_breakpoint_here_p): Declare. (displaced_step_fixup): Check if the breakpoint the thread was trying to step over has been removed since having been placed in the displaced stepping queue. (adjust_pc_after_break): In non-stop mode, check for a moribund breakpoint at the stop pc. (handle_inferior_event): Don't retire moribund breakpoints on TARGET_WAITKIND_IGNORE. gdb/testsuite/ * gdb.mi/mi-nsmoribund.exp, gdb.mi/nsmoribund.c: New test.
2008-10-14 Remove dead code.Pedro Alves1-16/+2
* breakpoint.c (show_breakpoint_hit_counts): Delete. (print_one_breakpoint_location): Adjust. (breakpoint_clear_ignore_counts): Delete. * breakpoint.h (breakpoint_clear_ignore_counts): Remove declaration. * target.c (generic_mourn_inferior): Don't clear ignore counts (never reached).
2008-09-16 * breakpoint.c (bpstat_stop_status): Clear breakpoint_at forDavid Daney1-3/+9
all hardware bpstats.
2008-09-11 * defs.h (struct gdbarch): Add forward declaration.Ulrich Weigand1-2/+2
(set_next_address): Add GDBARCH argument. * printcmd.c (set_next_address): Use it to find pointer type. * breakpoint.c (breakpoint_1): Update call. * source.c (line_info): Likewise. * findcmd.c (find_command): Use current_gdbarch to find pointer type. * breakpoint.c (set_breakpoint_count): Use platform-neutral types for internal variable values. * infrun.c (handle_inferior_event): Likewise. * source.c (forward_search_command, reverse_search_command): Likewise. * tracepoint.c (set_tracepoint_count, set_traceframe_num, set_tracepoint_num, set_traceframe_context): Likewise.
2008-09-08 Remove global continuations in favour of a per-threadPedro Alves1-1/+2
continuations. * gdbthread.h (struct thread_info): Add comments around continuations and intermediate_continuations. (save_infrun_state, load_infrun_state): Delete continuations and intermediate_continuations arguments. * infrun.c (fetch_inferior_event): Only call normal_stop if stop_soon is NO_STOP_QUIETLY. (context_switch): Don't context-switch the continuations. * thread.c (clear_thread_inferior_resources): Discard all continuations of the thread we're clearing. (save_infrun_state, load_infrun_state): Delete continuations and intermediate_continuations arguments, and the code referencing them. * utils.c: Include "gdbthread.h". (cmd_continuation, intermediate_continuation): Delete. (add_continuation): Add thread_info* argument. Install the continuation on it. (restore_thread_cleanup): New. (do_all_continuations_ptid, do_all_continuations_thread_callback): New. (do_all_continuations): Reimplement. (discard_all_continuations_thread_callback, discard_all_continuations_thread): New. (discard_all_continuations): Reimplement. (add_intermediate_continuation): Add thread_info* argument. Install the continuation on it. (do_all_intermediate_continuations_thread_callback) (do_all_intermediate_continuations_thread): New. (do_all_intermediate_continuations): Reimplement. (discard_all_intermediate_continuations_thread_callback): New. (discard_all_intermediate_continuations_thread): New. (discard_all_intermediate_continuations): Reimplement. * breakpoint.c (until_break_command): Install the continuation on the current thread. * defs.h (cmd_continuation, intermediate_continuation): Delete. (struct thread_info): Forward declare. (add_continuation, add_intermediate_continuation): Add thread_info* argument. (do_all_continuations_thread, discard_all_continuations_thread) (do_all_intermediate_continuations_thread) (discard_all_intermediate_continuations_thread): Declare. * inf-loop.c (inferior_event_handler): In non-stop only run continuations on the thread that stopped. In all-stop, run continuations on all threads. * infcmd.c (step_once, finish_command): Adjust.
2008-09-08 * inferior.h (stop_bpstat): Delete.Pedro Alves1-34/+43
* breakpoint.h (bpstat_do_actions): Remove bpstat* argument. * breakpoint.c (bpstat_do_actions): Rename to ... (bpstat_do_actions_1): ... this. Make static. Change return type to int. Return true if a breakpoint proceeded. (bpstat_do_actions): New, as wrapper around bpstat_do_actions_1. (delete_breakpoint): Don't reference the global stop_bpstat; it's gone. * gdbthread.h (struct thread_info): Add stop_bpstat. (save_infrun_state, load_infrun_state): Remove stop_bpstat argument. * thread.c (load_infrun_state, save_infrun_state): Remove stop_bpstat argument, and the code referencing it. * infcall.c: Include "gdbthread.h". (call_function_by_hand): Adjust. * exceptions.c: Include "gdbthread.h". (throw_exception): Adjust. * infcmd.c (stop_bpstat): Delete. (continue_command): In all-stop, set the ignore count on the thread that reported the stop. In non-stop, set it on the current thread. (finish_command_continuation): Adjust. (program_info): Adjust. * infrun.c (clear_proceed_status): Adjust. (context_switch): Don't context-switch stop_bpstat. (handle_inferior_event): Adjust. (normal_stop): Adjust. (save_inferior_status, restore_inferior_status): Adjust. * inf-loop.c (inferior_event_handler): Remove parameter to bpstat_do_actions call. * top.c (command_loop): Remove parameter to bpstat_do_actions call. Call it unconditionally. * event-top.c (command_handler): Ditto. * python/python.c (execute_gdb_command): Ditto.
2008-09-05 * breakpoint.h (struct bp_location): Change type of sectionUlrich Weigand1-6/+8
member to "struct obj_section *". * tracepoint.h (struct tracepoint): Likewise. * symtab.h (struct general_symbol_info): Replace bfd_section member with obj_section. (struct symtab_and_line): Change type of section member to "struct obj_section *". (SYMBOL_BFD_SECTION): Remove macro, replace by ... (SYMBOL_OBJ_SECTION): ... this. * minsym.c (prim_record_minimal_symbol_and_info): Record symbol section as obj_section instead of bfd_section. * ada-lang.c (ada_decode_symbol): Use gsymbol->obj_section directly instead of looking of obj_section from bfd_section. * objfiles.h (find_pc_sect_section): Remove. * objfiles.c (find_pc_sect_section): Remove. (find_pc_section): Inline find_pc_sect_section code. * symfile.h (find_pc_overlay): Return struct obj_section *. (find_pc_mapped_section): Likewise. (section_is_overlay, section_is_mapped): Change type of section argument to struct obj_section *. (pc_in_mapped_range, pc_in_unmapped_range): Likewise. (overlay_mapped_address, overlay_unmapped_address): Likewise. (symbol_overlayed_address): Likewise. * symtab.h (symbol_overlayed_address): Likewise. * symfile.c (overlay_is_mapped): Remove. (section_is_mapped): Inline overlay_is_mapped code. Update. (overlay_invalidate_all): Update. (section_is_overlay): Change section argument to type "struct obj_section *". Use bfd_ methods. (pc_in_unmapped_range): Likewise. Handle relocated sections. (pc_in_mapped_range): Likewise. Handle relocated sections. (sections_overlap): Likewise. (overlay_unmapped_address): Likewise. (overlay_mapped_address): Likewise. (symbol_overlayed_address): Likewise. (find_pc_overlay): Return struct obj_section *. (find_pc_mapped_section): Likewise. (list_overlays_command): Update. (map_overlay_command, unmap_overlay_command): Update. (simple_overlay_update): Update. * block.h (blockvector_for_pc_sect): Change section argument to type "struct obj_section *". (block_for_pc_sect): Likewise. * block.c (blockvector_for_pc_sect): Change section argument to type "struct obj_section *". (block_for_pc_sect): Likewise. * symtab.h (find_pc_sect_function, find_pc_sect_psymtab, find_pc_sect_symtab, find_pc_sect_psymbol, find_pc_sect_line, lookup_minimal_symbol_by_pc_section, find_function_start_pc): Likewise. (matching_bfd_sections): Rename to ... (matching_obj_sections): ... this. Update argument types. * blockframe.c (find_pc_sect_function): Likewise. * breakpoint.c (describe_other_breakpoints): Likewise. (breakpoint_has_pc, check_duplicates_for): Likewise. * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Likewise. (lookup_minimal_symbol_by_pc_section): Likewise. * symtab.c (find_pc_sect_psymtab_closer): Likewise. (find_pc_sect_psymtab, find_pc_sect_psymbol, find_pc_sect_symtab, find_pc_sect_line, find_function_start_pc): Likewise. (matching_bfd_sections): Rename to ... (matching_obj_sections): ... this. Update argument types. * blockframe.c (find_pc_partial_function): Update to section type changes. No longer call find_pc_sect_section. (cache_pc_function_section): Change to type "struct obj_section *". * breakpoint.c (resolve_sal_pc): Update to section type changes. * exec.c (xfer_memory): Likewise. * findvar.c (read_var_value): Likewise. * infcmd.c (jump_command): Likewise. * linespec.c (minsym_found): Likewise. * maint.c (maintenance_translate_address): Likewise. * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Likewise. (lookup_solib_trampoline_symbol_by_pc): Likewise. * parse.c (write_exp_msymbol): Likewise. * printcmd.c (build_address_symbolic): Likewise. (address_info, sym_info): Likewise. * symmisc.c (dump_msymbols, print_symbol): Likewise. * symtab.c (fixup_section): Likewise. (fixup_symbol_section, fixup_psymbol_section): Likewise. (find_pc_line, find_function_start_sal): Likewise. * target.c (memory_xfer_partial): Likewise. * hppa-hpux-tdep.c (hppa64_hpux_in_solib_call_trampoline): Likewise. * spu-tdep.c (spu_overlay_update): Likewise.
2008-09-03 * breakpoint.c (breakpoint_init_inferior): Mark as not inserted onlyAleksandar Ristovski1-2/+39
non-permanent breakpoints. (bpstat_stop_status): Change enable_state to bp_disabled only for non-permanent breakpoints. (bp_loc_is_permanent): New function. (create_breakpoint): Check if the location points to a permanent breakpoint and if it does, make breakpoint permanent. (update_breakpoint_locations): Make sure new locations of permanent breakpoints are properly initialized. * i386-tdep.c (i386_skip_permanent_breakpoint): New function. (i386_gdbarch_init): Set gdbarch_skip_permanent_breakpoint. * gdb.arch/i386-bp_permanent.exp: New test.
2008-09-02 * breakpoint.c (insert_breakpoints, update_global_location_list):Pedro Alves1-2/+4
Check breakpoints_always_inserted_mode instead of always_inserted_mode directly.
2008-08-26 * breakpoint.c (remove_breakpoint): Do not fail if unable to removeUlrich Weigand1-0/+7
breakpoint from shared library.
2008-08-22 * breakpoint.c (create_overlay_event_breakpoint): Rename to ...Ulrich Weigand1-2/+10
(create_overlay_event_breakpoint_1): ... this. Add OBJFILE parameter. (create_overlay_event_breakpoint): Loop over all objfiles to install multiple instances of the overlay event breakpoint if present.
2008-08-17gdb:Tom Tromey1-202/+160
PR gdb/1535: * breakpoint.c (CATCH_PERMANENT, CATCH_TEMPORARY): New macros. (ep_find_event_name_end): Remove. (catch_fork_temporary, catch_vfork_temporary, catch_fork_permanent, catch_vfork_permanent): New constants. (catch_vfork, catch_fork): Remove. (catch_fork_command_1): Add 'command' argument. Remove 'fork_kind' and 'tempflag'. Handle NULL 'arg'. Update switch for all cases. (catch_exec_command_1): Add 'command' argument; remove 'tempflag'. Handle NULL 'arg'. (catch_load_command_1): Likewise. (catch_unload_command_1): Likewise. (catch_ada_exception_command): Likewise. (catch_assert_command): Likewise. (catch_catch_command): New function. (catch_throw_command): Likewise. (catch_command_1): Remove. (catch_command): Just call error. (tcatch_command): Likewise. (catch_cmdlist): New global. (tcatch_cmdlist): Likewise. (add_catch_command): New function. (_initialize_breakpoint): Create "catch" and "tcatch" as prefix commands. Create all catch sub-commands. gdb/testsuite: * gdb.base/help.exp (help catch): Rewrite.
2008-08-16gdb/Thiago Jung Bauermann1-1/+1
2008-08-16 Vladimir Prus <vladimir@codesourcery.com> Thiago Jung Bauermann <bauerman@br.ibm.com> * cli-script.c (read_next_line): Add parse_commands argument. (recurse_read_control_structure): Adapt to new read_next_line signature. (read_command_lines): Add parse_commands argument. (define_command): Adapt to new read_command_lines signature. (document_command): Likewise. * breakpoint.c (commands_command): Likewise. * defs.h (read_command_lines): Adjust function prototype. testsuite/ 2008-08-16 Thiago Jung Bauermann <bauerman@br.ibm.com> * gdb.base/define.exp: Test indented command documentation. * gdb.python/python.exp: Test indented multi-line command.
2008-08-13gdb/Pedro Alves1-19/+41
* breakpoint.c (always_inserted_auto, always_inserted_on) (always_inserted_off, always_inserted_enums): New. (always_inserted_mode): Change type to char* and point to always_inserted_auto. (show_always_inserted_mode): In auto mode, also show the current effect of the option. (breakpoints_always_inserted_mode): Adjust for the new auto mode. (_initialize_breakpoint): Make the "set breakpoints always-inserted" command an enum command. Extend help to describe the auto mode. gdb/doc/ * gdb.texinfo (breakpoint always-inserted) Describe the auto mode setting, and make it the default. (Non-Stop Mode): Remove "set breakpoints always-inserted 1" from non-stop script example.
2008-08-062008-08-06 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon1-2/+2
* breakpoint.c (hw_breakpoint_used_count): Use breakpoint_enabled. (insert_breakpoint_locations): Likewise.
2008-08-062008-08-05 Phil Muldoon <pmuldoon@redhat.com>Michael Snyder1-3/+0
* breakpoint.c (create_longjmp_breakpoint): Remove unused struct breakpoint. (set_longjmp_breakpoint): Likewise.
2008-07-28 * annotate.h (deprecated_annotate_starting_hook): Remove.Tom Tromey1-10/+1
(deprecated_annotate_stopped_hook): Remove. (deprecated_annotate_exited_hook): Remove. * Makefile.in (annotate.o): Depend on observer_h. * top.c (deprecated_delete_breakpoint_hook): Remove. (deprecated_create_breakpoint_hook): Likewise. (deprecated_modify_breakpoint_hook): Likewise. * interps.c (clear_interpreter_hooks): Update for removed hooks. * breakpoint.c (mention): Don't call removed hook. (delete_breakpoint): Likewise. (disable_breakpoint): Likewise. (do_enable_breakpoint): Likewise. * annotate.c: Include observer.h. (breakpoint_changed): Change type of argument. (_initialize_annotate): Register observers. (deprecated_annotate_starting_hook): Remove. (deprecated_annotate_stopped_hook): Remove. (deprecated_annotate_exited_hook): Remove. (annotate_starting): Update for hook removal. (annotate_stopped): Likewise. (annotate_exited): Likewise. * defs.h (deprecated_delete_breakpoint_hook): Remove. (deprecated_create_breakpoint_hook): Likewise. (deprecated_modify_breakpoint_hook): Likewise.
2008-07-25gdb:Tom Tromey1-9/+8
* tui/tui-hooks.c: Include observer.h. (tui_event_default, tui_old_event_hooks, tui_event_hooks): Remove. (tui_bp_created_observer, tui_bp_deleted_observer, tui_bp_modified_observer): New globals. (tui_install_hooks): Use observers, not events. (tui_remove_hooks): Likewise. * mi/mi-cmd-break.c: Include observer.h, not gdb-events.h. (mi_breakpoint_observers_installed, mi_can_breakpoint_notify): New globals. (breakpoint_notify): Check mi_can_breakpoint_notify. (breakpoint_hooks): Remove. (mi_cmd_break_insert): Attach observers. Don't use events. * tracepoint.c: Include observer.h, not gdb-events.h. (tracepoint_operation, trace_pass_command): Notify observer. * interps.c: Don't include gdb-events.h. (clear_interpreter_hooks): Don't call clear_gdb_event_hooks. * gdbarch.c: Rebuild. * gdbarch.sh: Emit include for observer.h, not gdb-events.h. (deprecated_current_gdbarch_select_hack): Notify observer. * breakpoint.h: Don't include gdb-events.h. * breakpoint.c: Don't include gdb-events.h. (condition_command): Notify observer. (commands_command): Likewise. (commands_from_control_command): Likewise. (mention, delete_breakpoint, set_ignore_count): Likewise. (disable_breakpoint, do_enable_breakpoint): Likewise. * Makefile.in (gdb_events_h): Remove. (breakpoint_h): Update. (COMMON_OBS): Remove gdb-events.o. (gdb-events.o): Remove. (breakpoint.o, gdbarch.o, interps.o, tracepoint.o, gdbtk-bp.o, gdbtk-hooks.o, mi-cmd-break.o, tui-hooks.o): Update. * gdb-events.c: Remove. * gdb-events.h: Remove. * gdb-events.sh: Remove. gdb/doc: * observer.texi (GDB Observers): Document new observers: breakpoint_created, breakpoint_deleted, breakpoint_modified, tracepoint_created, tracepoint_deleted, tracepoint_modified, architecture_changed. gdb/gdbtk: * generic/gdbtk-hooks.c: Include observer.h, not gdb-events.h. (gdbtk_add_hooks): Use observers, not events. (gdbtk_architecture_changed): Add argument, for observer. * generic/gdbtk-bp.c: Include observer.h. (gdb_set_bp): Notify observer. (gdb_set_bp_addr): Likewise.