aboutsummaryrefslogtreecommitdiff
path: root/gdb/infrun.c
AgeCommit message (Collapse)AuthorFilesLines
2008-01-29 * Makefile.in (symfile.o): Update.Daniel Jacobowitz1-24/+13
* NEWS: Mention exec tracing support. * inf-ttrace.c (inf_ttrace_wait): Return TARGET_WAITKIND_EXECD for exec events. * infcmd.c (kill_if_already_running, detach_command) (disconnect_command): Replace SOLIB_RESTART with no_shared_libraries. * infrun.c (MAY_FOLLOW_EXEC, may_follow_exec): Delete. (follow_exec): Do not check may_follow_exec. Do not mourn and push targets. Apply the sysroot path to the loaded executable. Use no_shared_libraries. * linux-nat.c (linux_child_follow_fork): Print fork following messages if verbose. (kill_wait_callback): Kill again before waiting a second time. * symfile.c (symbol_file_clear): Replace SOLIB_RESTART with no_shared_libraries. * gdb.base/foll-exec.exp: Update header. Skip on remote targets. Run on GNU/Linux. (do_exec_tests): Check for systems which do not support catchpoints. Do not match START. * gdb.base/foll-fork.exp: Update header. Skip on remote targets. Run on GNU/Linux. Enable verbose output. (check_fork_catchpoints): New. (explicit_fork_child_follow, catch_fork_child_follow) (tcatch_fork_parent_follow): Update expected messages. (do_fork_tests): Use check_fork_catchpoints. * gdb.base/foll-vfork.exp: Update header. Skip on remote targets. Run on GNU/Linux. Enable verbose output. (check_vfork_catchpoints): New. (vfork_parent_follow_to_bp, tcatch_vfork_then_child_follow): Update expected messages. (do_vfork_and_exec_tests): Use check_fork_catchpoints.
2008-01-29 * infrun.c (wait_for_inferior): Add treat_exec_as_sigtrap parameterJoel Brobecker1-4/+19
and use it. (proceed, start_remote): Update call to wait_for_inferior. * inferior.h (wait_for_inferior): Update declaration. * fork-child.c, infcmd.c, solib-irix.c, solib-osf.c, solib-sunos.c, solib-svr4.c, win32-nat.c: Update calls to wait_for_inferior. * inf-ttrace.c (inf_ttrace_wait): Report TTEVT_EXEC events as TARGET_WAITKIND_EXECD instead of TARGET_WAITKIND_STOPPED.
2008-01-23 Inform about new thread in a single place.Vladimir Prus1-7/+1
* thread.c (add_thread_silent): Renamed from add_thread. (print_thread_events): New variable definition. (show_print_thread_events): New function. (_initialize_thread): Add "set print thread-events" and "show print thread-events" commands. (add_thread): Announce new thread. * gdbthread.h (add_thread_silent): Declare. (print_thread_events): New variable declaration. * inf-ttrace.c (inf_ttrace_wait): Don't inform about new thread, as add_thread is always called too, and will take care of that. * infrun.c (handle_inferior_event): Likewise. * procfs.c (procfs_wait): Likewise. * remote.c (remote_currthread): Likewise. * sol-thread.c (sol_thread_wait): Likewise. * win32-nat.c (get_win32_debug_event): Likewise. * linux-thread-db.c (attach_thread): Likewise. Remove the verbose parameter. (check_event): Make detach_thread be verbose only if print_thread_events is set. * linux-nat.c (lin_lwp_attach_lwp): Don't inform about new thread. This is called only from linux-thread-db.c:attach_thread, which will take care. Remove the verbose parameter. * linux-nat.h (lin_lwp_attach_lwp): Adjust prototype.
2008-01-21 * infrun.c (handle_inferior_event): IfVladimir Prus1-18/+1
we failed to remove breakpoints, error, don't try to increment PC by hand.
2008-01-01 Updated copyright notices for most files.Daniel Jacobowitz1-2/+2
2007-12-23 * infrun.c (handle_inferior_event): Remove code that made usJoel Brobecker1-14/+0
stop when stepping into the last line of the current function.
2007-12-19 * infrun.c (handle_inferior_event): Fix spelling in comment.Joel Brobecker1-1/+1
2007-12-16 * target.h (target_pid_or_tid_to_str): Remove.Vladimir Prus1-2/+2
* infrun.c (handle_inferior_event): Use target_pid_to_str instead of target_pid_or_tid_to_str. (normal_stop): Likewise.
2007-12-07 * infrun.c (init_wait_for_inferior): Reset target_last_wait_ptid.Daniel Jacobowitz1-1/+5
(handle_inferior_event): Clear stop_stack_dummy earlier.
2007-12-06 Localize infrun use of remove_breakpoints.Vladimir Prus1-5/+5
* infrun.c (handle_inferior_event): Remove calls to remove_breakpoints, except where needed to communicate change of breakpoint locations to inferior. (keep_going): If steppping over breakpoint, remove breakpoints.
2007-12-06 Clarify infrun variable naming.Vladimir Prus1-45/+72
* infrun.c (trap_expected): Rename to stepping_over_breakpoint. Document. (stepping_past_breakpoint): Remove. (stepping_past_breakpoint_ptdi): Renamed to deferred_step_ptid. (struct execution_control_state): Rename the another_trap field to stepping_over_breakpoint. (struct inferior_status): Rename the trap_expected field to stepping_over_breakpoint. (clear_proceed_status, proceed) (init_execution_control_state, context_switch) (handle_inferior_event, currently_stepping) (keep_going, save_inferior_status) (restore_inferior_status, prepare_to_proceed): Adjust. * gdbthread.h (struct thread_info): Rename the trap_expected field to stepping_over_breakpoint. * thread.c (load_infrun_state, save_infrun_state): Adjust.
2007-11-30 * infrun.c (handle_inferior_event): Don'tVladimir Prus1-17/+6
ignore beakpoints if trap_expected is set.
2007-11-30 Make insert_breakpoints return void.Vladimir Prus1-1/+6
* breakpoint.h (insert_breakpoints): Change return type to void. * breakpoint.c (insert_breakpoints): Change return type to void. Rename local return_val variable to error. * infrun.c (keep_going): Instead of checking return value from insert_breakpoints, catch exception.
2007-11-29 Stop infrun from tracking breakpoint insertion status.Vladimir Prus1-44/+17
The checks of breakpoints_inserted before calling remove_breakpoints are removed, as remove_breakpoint won't touch uninserted breakpoints. In a number of places, we're interested if a breakpoint is inserted at particular PC, and we now use breakpoint_inserted_here_p. In a few places, insert_breakpoints can be called unconditionally, since it won't try to insert already inserted breakpoint. * breakpoint.h (regular_breakpoint_inserted_here_p): New declaration. * breakpoint.c (regular_breakpoint_inserted_here_p): New. (breakpoint_inserted_here_p): Use regular_breakpoint_inserted_here_p. * infrun.c (breakpoints_inserted): Remove. (resume): Don't check for breakpoints_inserted before remove_hw_watchpoints. Use breakpoint_inserted_here_p. (proceed, init_wait_for_inferior): Don't set breakpoints_inserted. (handle_inferior_event): Don't use breakpoints_inserted. Use breakpoints_meant_to_be_inserted and breakpoints_inserted_here_p. (insert_step_resume_breakpoint_at_sal, keep_going): Use breakpoints_meant_to_be_inserted. Don't set breakpoints_inserted. (normal_stop): Don't check for breakpoints_inserted. Don't set breakpoints_inserted. (keep_going): Don't check for breakpoints_inserted. (insert_step_resume_breakpoint_at_sal): Don't insert breakpoints
2007-11-28 * infrun.c (resume): Set right thread even ifVladimir Prus1-1/+2
stepping over breakpoint using software single step.
2007-11-20 * infrun.c (resume): Clarify logic thatVladimir Prus1-7/+33
decides if a single thread must be resumed. Add comments.
2007-11-022007-11-02 Markus Deuling <deuling@de.ibm.com>Ulrich Weigand1-2/+4
* frame.c (frame_id_inner): Add gdbarch parameter. Replace current_gdbarch by gdbarch. (frame_find_by_id, get_prev_frame_1): Use get_frame_arch to get at the current architecture by frame_info. * frame.h (frame_id_inner): Add gdbarch parameter. * stack.c (return_command): Use get_frame_arch to get at the current architecture by frame_info. Update call of frame_id_inner. * infrun.c (handle_inferior_event): Likewise. * dummy-frame.c (dummy_frame_push): Use get_regcache_arch to get at the current architecture by regcache. Update call of frame_id_inner.
2007-10-012007-09-16 Daniel Jacobowitz <dan@codesourcery.com>Daniel Jacobowitz1-44/+42
Jeff Johnston <jjohnstn@redhat.com> * breakpoint.c (watchpoints_triggered): New. (bpstat_stop_status): Remove STOPPED_BY_WATCHPOINT argument. Check watchpoint_triggered instead. Combine handling for software and hardware watchpoints. Do not use target_stopped_data_address here. Always check a watchpoint if its scope breakpoint triggers. Do not stop for thread or overlay events. Improve check for triggered watchpoints without a value change. (watch_command_1): Insert the scope breakpoint first. Link the scope breakpoint to the watchpoint. * breakpoint.h (enum watchpoint_triggered): New. (struct breakpoint): Add watchpoint_triggered. (bpstat_stop_status): Update prototype. (watchpoints_triggered): Declare. * infrun.c (enum infwait_status): Add infwait_step_watch_state. (stepped_after_stopped_by_watchpoint): Delete. (handle_inferior_event): Make stepped_after_stopped_by_watchpoint local. Handle infwait_step_watch_state. Update calls to bpstat_stop_status. Use watchpoints_triggered to check watchpoints. * remote.c (stepped_after_stopped_by_watchpoint): Remove extern. (remote_stopped_data_address): Do not check it. * gdb.texinfo (Setting Watchpoints): Adjust warning text about multi-threaded watchpoints. * gdbint.texinfo (Watchpoints): Describe how watchpoints are checked. Describe sticky notification. Expand description of steppable and continuable watchpoints. (Watchpoints and Threads): New subsection. * gdb.threads/watchthreads.c (thread_function): Sleep between iterations. * gdb.threads/watchthreads.exp: Allow two watchpoints to trigger at once for S/390. Generate matching fails and passes.
2007-09-22 * breakpoint.c (do_restore_lang_radix_cleanup): Remove.Vladimir Prus1-8/+0
(resolve_pending_breakpoint): Remove. (re_enable_breakpoints_in_shlibs): Remove. (unlink_locations_from_global_list): New. (update_breakpoint_locations): New. (breakpoint_re_set_one): Don't bail out on pending breakpoints. Use parse_condition and update_breakpoint_location to reset breakpoint. Ignore 'symbol not found' error from decode_line_1. (breakpoint_re_set): Don't emit newline before the reason why breakpoint is not reset. (do_enable_breakpoint): Don't specially process pending breakpoints. (free_bp_location): New. (break_command_1): For pending breakpoints, initialize all fields of a sal with zeroes. * breakpoint.h (re_enable_breakpoints_in_shlibs): Remove. * infcmd.c (post_create_inferior): Don't call re_enable_breakpoints_in_shlibs. * infrun.c (handle_inferior_event): Likewise. * solib-irix.c (irix_solib_create_inferior_hook): Likewise. * solib-osf.c (osf_solib_create_inferior_hook): Likewise. * win32-nat.c (get_win32_debug_event): Likewise.
2007-09-17 * infrun.c (insert_step_resume_breakpoint_at_frame): Add assertionJoel Brobecker1-0/+1
that return_frame is not null.
2007-09-10 * infrun.c (stepping_past_breakpoint): New global variable.Ulrich Weigand1-27/+57
(stepping_past_breakpoint_ptid): Likewise. (prepare_to_proceed): Add STEP parameter. Do not check for Ctrl-C. Only switch threads if we need to single-step over a breakpoint hit in the previously selected thread. If stepping, remember previous thread to switch back to in STEPPING_PAST_BREAKPOINT[_PTID]. Call switch_to_thread instead of copying its contents. (proceed): Pass STEP to prepare_to_proceed. Always set ONEPROC if prepare_to_proceed returns true. (init_wait_for_inferior): Reset STEPPING_PAST_BREAKPOINT. (context_switch): Call switch_to_thread. (handle_inferior_event): Switch back to previous thread if requested in STEPPING_PAST_BREAKPOINT[_PTID] by prepare_to_proceed. * gdbthread.h (switch_to_thread): Add prototype. * thread.c (switch_to_thread): Make global.
2007-08-23 Switch the license of all .c files to GPLv3.Joel Brobecker1-4/+2
Switch the license of all .h files to GPLv3. Switch the license of all .cc files to GPLv3.
2007-07-02 * infrun.c (inferior_ignoring_startup_exec_events): Delete.Daniel Jacobowitz1-14/+65
(start_remote): Use STOP_QUIETLY_REMOTE. (handle_inferior_event): Do not condition TARGET_WAITKIND_LOADED support on a SOLIB_ADD definition. Update breakpoints_inserted. Update to match shared library event breakpoint support. Only resume if appropriate. Handle STOP_QUIETLY_REMOTE. (normal_stop): Handle TARGET_WAITKIND_LOADED. * fork-child.c (startup_inferior): Do not set inferior_ignoring_startup_exec_events * inferior.h (inferior_ignoring_startup_exec_events): Delete declaration. (enum stop_kind): Improve documentation. Add STOP_QUIETLY_REMOTE. * config/gdbserver.exp (gdb_reconnect): New. * gdb.base/so-disc-shr.c, gdb.base/solib-disc.c, gdb.base/solib-disc.exp: New files. * lib/gdb.exp (gdb_test_multiple): Allow tests to match "Ending remote debugging". (gdb_compile): Add shlib_load flag. * lib/gdbserver-support.exp (gdbserver_run): Save the protocol and port. (gdbserver_reconnect): New.
2007-06-22 * infrun.c (adjust_pc_after_break): Do not assume software single-stepUlrich Weigand1-54/+34
is always active if SOFTWARE_SINGLE_STEP_P is true. (resume): Use gdbarch_software_single_step[_p] instead of SOFTWARE_SINGLE_STEP[_P]. (handle_inferior_event): Do not check for SOFTWARE_SINGLE_STEP_P. * gdbarch.sh (software_single_step): Remove target macro. * gdbarch.h, gdbarch.c: Regenerate.
2007-06-22 * infrun.c (clear_proceed_status): Clean up stop_registers.Ulrich Weigand1-20/+15
(normal_stop): Allocate regcache for stop_registers. (struct inferior_status): Remove stop_registers member. (save_inferior_status): Do not save stop_registers. (restore_inferior_status): Do not restore stop_registers. (discard_inferior_status): Do not discard stop_registers. (build_infrun): Remove. (_initialize_infrun): Do not swap stop_registers.
2007-06-182007-06-18 Markus Deuling <deuling@de.ibm.com>Ulrich Weigand1-1/+2
* gdbarch.sh (DEPRECATED_FUNCTION_START_OFFSET): Replace by gdbarch_deprecated_function_start_offset. * symtab.c (find_function_start_sal)skip_prologue_using_sal): Likewise. * linespec.c (minsym_found): Likewise. * infrun.c (handle_inferior_event): Likewise. * infcall.c (find_function_addr): Likewise. * cli/cli-cmds.c (disassemble_command): Likewise. * gdbarch.c, gdbarch.h: Regenerate.
2007-06-16 * regcache.c (struct regcache): Add ptid_t member.Ulrich Weigand1-4/+5
(regcache_xmalloc): Initialize it. (regcache_cpy_no_passthrough): Do not refer to current_regcache. (regcache_dup): Likewise. (regcache_dup_no_passthrough): Likewise. (current_regcache): Make static. (registers_ptid): Remove variable. (get_thread_regcache): New function. (get_current_regcache): New function. (registers_changed): Implement by freeing current regcache. (regcache_raw_read): Do not refer to current_regcache. Set inferior_ptid to regcache->ptid while calling target routines. (regcache_raw_write): Likewise. (regcache_raw_supply): Do not refer to current_regcache. (read_pc_pid): Use thread regcache. Do not modify inferior_ptid. (write_pc_pid): Likewise. (build_regcache): Remove. (_initialize_regcache): Do not call DEPRECATED_REGISTER_GDBARCH_SWAP or deprecated_register_gdbarch_swap. Do not initialize registers_ptid. * regcache.h (get_current_regcache): Add prototype. (get_thread_regcache): Likewise. (current_regcache): Remove declaration. * corelow.c (core_open): Replace current_regcache by get_current_regcache (). * frame.c (frame_pop): Likewise. (put_frame_register): Likewise. (get_current_frame, create_new_frame): Likewise. * mi/mi-main.c (mi_cmd_data_write_register_values): Likewise. * stack.c (return_command): Likewise. * infcall.c (call_function_by_hand): Likewise. * infrun.c (resume): Likewise. (save_inferior_status, restore_inferior_status): Likewise. * linux-fork.c (fork_load_infrun_state): Likewise. (fork_save_infrun_state): Likewise. * win32-nat.c (win32_resume): Likewise. * i386fbsd-nat.c (i386fbsd_resume): Likewise. * monitor.c (monitor_wait): Likewise. * remote.c (remote_wait): Likewise. * remote-mips.c (mips_wait): Likewise. * bsd-kvm.c (bsd_kvm_open): Likewise (bsd_kvm_proc_cmd, bsd_kvm_pcb_cmd): Likewise. * fbsd-nat.c (fbsd_make_corefile_notes): Likewise. * i386-linux-nat.c (i386_linux_resume): Likewise. * ia64-linux-nat.c (ia64_linux_insert_watchpoint): Likewise. (ia64_linux_stopped_data_address): Likewise. * frv-tdep.c (frv_fdpic_loadmap_addresses): Likewise. * m32c-tdep.c (m32c_virtual_frame_pointer): Likewise. * mep-tdep.c (current_me_module, current_options): Likewise. * mips-tdep.c (deprecated_mips_set_processor_regs_hack): Likewise. * linux-nat.c (linux_nat_do_thread_registers): Use thread regcache instead of current_regcache. Call target_fetch_registers. (linux_nat_corefile_thread_callback): Update call site. (linux_nat_do_registers): Likewise. * procfs.c (procfs_do_thread_registers): Use thread regcache instead of current_regcache. (procfs_make_note_section): Likewise. * proc-service.c (ps_lgetregs, ps_lsetregs): Likewise. (ps_lgetfpregs, ps_lsetfpregs): Likewise. * sol-thread.c (ps_lgetregs, ps_lsetregs): Likewise. (ps_lgetfpregs, ps_lsetfpregs): Likewise.
2007-06-15 * gdbarch.sh (get_longjmp_target): Add FRAME argument.Ulrich Weigand1-1/+2
* gdbarch.c, gdbarch.h: Regenerate. * infrun.c (handle_inferior_event): Pass current frame to gdbarch_get_longjmp_target. * alpha-tdep.c (alpha_get_longjmp_target): Add FRAME argument. Read registers from FRAME instead of using read_register. Use get_frame_arch instead of current_gdbarch. * arm-tdep.c (arm_get_longjmp_target): Likewise. * i386-tdep.c (i386_get_longjmp_target): Likewise. * m68k-tdep.c (m68k_get_longjmp_target): Likewise. * mips-linux-tdep.c (mips_linux_get_longjmp_target): Likewise. (mips64_linux_get_longjmp_target): Likewise. * mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Likewise.
2007-06-15 * gdbarch.sh (skip_trampoline_code): Add FRAME argument.Ulrich Weigand1-4/+6
* gdbarch.c, gdbarch.h: Regenerate. * arch-utils.c (generic_skip_trampoline_code): Add FRAME argument. * arch-utils.h (generic_skip_trampoline_code): Likewise. * infrun.c (handle_inferior_event): Pass current frame to gdbarch_skip_trampoline_code and skip_language_trampoline. * language.c (unk_lang_trampoline): Add FRAME argument. (skip_language_trampoline): Add FRAME argument. Pass it to skip_trampoline callback. * language.h: Add forward declaration of struct frame_info. (struct language_defn): Add FRAME argument to skip_trampoline. (skip_language_trampoline): Add FRAME argument. * cp-abi.c (cplus_skip_trampoline): Add FRAME argument. Pass it to skip_trampoline callback. * cp-abi.h: Add forward declaration of struct frame_info. (cplus_skip_trampoline): Add FRAME argument. (struct cp_abi_ops): Add FRAME argument to skip_trampoline callback. * gnu-v3-abi.c (gnuv3_skip_trampoline): Add FRAME argument. Pass it to gdbarch_skip_trampoline_code. * objc-lang.c (objc_skip_trampoline): Add FRAME argument. Pass it to gdbarch_skip_trampoline_code. * minsyms.c (find_solib_trampoline_target): Add FRAME argument. * symtab.h (find_solib_trampoline_target): Likewise. * obsd-tdep.c (obsd_skip_solib_resolver): Pass current frame to find_solib_trampoline_target. * arm-tdep.c (arm_skip_stub): Add FRAME argument. Read registers from FRAME instead of calling read_register. * hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code): Add FRAME argument. Read registers from FRAME instead of using read_register. * hppa-tdep.c (hppa_skip_trampoline_code): Likewise. * hppa-tdep.h (hppa_skip_trampoline_code): Add FRAME argument. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Add FRAME argument. * m32c-tdep.c (m32c_skip_trampoline_code): Add FRAME argument. * mips-tdep.c (mips_skip_trampoline_code): Add FRAME argument. Read registers from FRAME instead of using read_signed_register. * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Add FRAME argument. (ppc64_standard_linkage_target): Likewise. Read registers from FRAME instead of using read_register. (ppc64_skip_trampoline_code): Add FRAME argument. Pass it to ppc64_standard_linkage_target. * rs6000-tdep.c (rs6000_skip_trampoline_code): Add FRAME argument. Pass it to find_solib_trampoline_target. Read registers from FRAME instead of using read_register. * xstormy16-tdep.c (xstormy16_skip_trampoline_code): Add FRAME argument.
2007-06-15 * gdbarch.sh (software_single_step): Replace REGCACHE argument byUlrich Weigand1-1/+1
FRAME argument. * gdbarch.c, gdbarch.h: Regenerate. * infrun.c (resume): Pass current frame to SOFTWARE_SINGLE_STEP. * alpha-tdep.c (alpha_next_pc): Add FRAME argument. Retrieve registers from FRAME instead of using read_register. (alpha_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to alpha_next_pc. Use get_frame_pc instead of read_pc. * alpha-tdep.h (alpha_software_single_step): Replace REGCACHE argument by FRAME. * arm-tdep.c (shifted_reg_val): Add FRAME argument. Read registers from FRAME instead of using read_register. (thumb_get_next_pc): Likewise. (arm_get_next_pc): Likewise. (arm_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to arm_get_next_pc. Use get_frame_pc instead of read_register. * arm-tdep.h (arm_software_single_step): Replace REGCACHE argument by FRAME. * cris-tdep.c (find_step_target): Add FRAME argument. Read registers from FRAME instead of using read_register. (cris_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to find_step_target. * mips-tdep.c (mips32_next_pc): Add FRAME argument. Read registers from FRAME instead of using read_register / read_signed_register. (extended_mips16_next_pc): Likewise. (mips16_next_pc): Likewise. (mips_next_pc): Likewise. (mips_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to mips_next_pc. Use get_frame_pc instead of read_pc. * mips-tdep.h (mips_software_single_step): Replace REGCACHE argument by FRAME. * rs6000-tdep.c (branch_dest): Add FRAME argument. Use it instead of current frame. Read registers from FRAME. (deal_with_atomic_sequence): Add FRAME argument. Pass it to branch_dest. Use get_frame_pc instead of read_pc. (rs6000_software_single_step): Likewise. (bl_to_blrl_insn_p): Do not call branch_dest. * rs6000-tdep.h (rs6000_software_single_step): Replace REGCACHE argument by FRAME. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Add FRAME argument. Read registers from FRAME instead of current regcache. * sparc-linux-tdep.c (sparc32_linux_step_trap): Likewise. * sparcnbsd-tdep.c (sparcnbsd_step_trap): Likewise. * sparc-tdep.c (sparc_address_from_register): Remove. (sparc_analyze_control_transfer): Pass FRAME argument instead of GDBARCH. Pass FRAME to step_trap callback. (sparc_step_trap): Add FRAME argument. (space_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to sparc_analyze_control_transfer. Read registers from FRAME instead of calling sparc_address_from_register. * sparc-tdep.h (struct gdbarch_tdep): Add FRAME argument to step_trap callback. (sparc_address_from_register): Remove prototype. (sparc_software_single_step): Replace REGCACHE argument by FRAME. (sparcnbsd_step_trap): Add FRAME argument. * spu-tdep.c (spu_software_single_step): Replace REGCACHE argument by FRAME. Read registers from FRAME instead of REGCACHE.
2007-06-092007-06-09 Markus Deuling <deuling@de.ibm.com>Ulrich Weigand1-3/+5
* gdbarch.sh (SKIP_TRAMPOLINE_CODE): Replace by gdbarch_skip_trampoline_code. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise (comment). * objc-lang.c (objc_skip_trampoline) (objc_submethod_helper_data): Likewise. * m32c-lang.c (m32c_skip_trampoline_code): Likewise (comment). * infrun.c (handle_inferior_event): Likewise. * gnu-v3-abi.c (gnuv3_skip_trampoline): Likewise. * gdbarch.sh (IN_SOLIB_RETURN_TRAMPOLINE): Replace by gdbarch_in_solib_return_trampoline. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise (comment). * infrun.c (handle_inferior_event): Likewise. * hppa-tdep.c (hppa_stub_unwind_sniffer): Likewise. * gdbarch.c, gdbarch.h: Regenerate.
2007-06-092007-06-09 Markus Deuling <deuling@de.ibm.com>Ulrich Weigand1-1/+2
* gdbarch.sh (SKIP_PROLOGUE): Replace by gdbarch_skip_prologue. * symtab.c (find_function_start_sal, in_prologue): Likewise. * linespec.c (minsym_found): Likewise. * infrun.c (step_into_function): Likewise. * gdbarch.c, gdbarch.h: Regenerate.
2007-06-092007-06-09 Markus Deuling <deuling@de.ibm.com>Ulrich Weigand1-14/+15
* gdbarch.sh (DECR_PC_AFTER_BREAK): Replace by gdbarch_decr_pc_after_break. * tracepoint.c (trace_dump_command): Likewise. * solib-sunos.c (sunos_solib_create_inferior_hook): Likewise. * linux-thread-db.c (check_event): Likewise. * linux-nat.c (cancel_breakpoints_callback): Likewise. * infrun.c (adjust_pc_after_break, normal_stop): Likewise. * frame.h: Likewise (comment). * dummy-frame.c (deprecated_pc_in_call_dummy): Likewise. * aix-thread.c (aix_thread_wait): Likewise. * gdbarch.c, gdbarch.h: Regenerate.
2007-06-092007-06-09 Markus Deuling <deuling@de.ibm.com>Ulrich Weigand1-2/+4
* gdbarch.sh (ADDR_BITS_REMOVE): Replace by gdbarch_addr_bits_remove. * value.c (value_as_address): Likewise (comment). * remote-mips.c (common_breakpoint): Likewise. * regcache.c (read_pc_pid): Likewise. * printcmd.c (do_one_display): Likewise. * monitor.c (monitor_write_memory, monitor_read_memory) (monitor_insert_breakpoint): Likewise. * mips-tdep.c (heuristic_proc_start): Likewise. * infrun.c (insert_step_resume_breakpoint_at_frame) (insert_step_resume_breakpoint_at_caller): Likewise. * buildsym.c (record_line): Likewise. * arm-tdep.c (arm_scan_prologue, thumb_get_next_pc) (arm_get_next_pc): Likewise. * armnbsd-nat.c (arm_supply_gregset, fetch_register, store_register) (store_regs): Likewise. * arm-linux-tdep.c (arm_linux_supply_gregset): Likewise. * arm-linux-nat.c (fetch_register, fetch_regs): Likewise. * gdbarch.c, gdbarch.h: Regenerate.
2007-06-062007-06-06 Markus Deuling <deuling@de.ibm.com>Ulrich Weigand1-7/+8
* gdbarch.sh (HAVE_NONSTEPPABLE_WATCHPOINT): Replace by gdbarch_have_nonsteppable_watchpoint. * infrun.c (handle_inferior_event, adjust_pc_after_break): Likewise. * gdbarch.sh (CANNOT_STEP_BREAKPOINT): Replace by gdbarch_cannot_step_breakpoint. * infrun.c (resume): Likewise. * gdbarch.c, gdbarch.h: Regenerate.
2007-06-06 * gdbarch.sh (GET_LONGJMP_TARGET): Replace by gdbarch_get_longjmp_target.Ulrich Weigand1-1/+2
* infrun.c (handle_inferior_event): Likewise. * gdbarch.sh (GET_LONGJMP_TARGET_P): Replace by gdbarch_get_longjmp_target_p. * breakpoint.c (breakpoint_re_set): Likewise. * infrun.c (handle_inferior_event): Likewise. * gdbarch.c, gdbarch.h: Regenerate.
2007-05-23 * breakpoint.h (enum bpstat_what_main_action): RemoveDaniel Jacobowitz1-9/+0
BPSTAT_WHAT_THROUGH_SIGTRAMP. * infrun.c (process_event_stop_test): Do not check for it.
2007-05-07 * gdbarch.sh: Add skip_permanent_breakpoint callback.Ulrich Weigand1-18/+9
* gdbarch.h, gdbarch.c: Regenerate. * infrun.c (SKIP_PERMANENT_BREAKPOINT): Remove default definition. (resume): Call gdbarch_skip_permanent_breakpoint instead of SKIP_PERMANENT_BREAKPOINT. Inline default case. * hppa-hpux-tdep.c (hppa_skip_permanent_breakpoint): Make static. Add REGCACHE argument. Use it instead of read/write_register. (hppa_hpux_init_abi): Install hppa_skip_permanent_breakpoint. * config/pa/tm-hppah.h: Delete file. * config/pa/hppa64.mt (DEPRECATED_TM_FILE): Set to tm-hppa.h. * config/pa/hppahpux.mt (DEPRECATED_TM_FILE): Likewise.
2007-04-14 * gdbarch.sh (software_single_step): Remove "insert_breakpoints_p" andUlrich Weigand1-4/+4
"sig" arguments, add "regcache" argument. * gdbarch.c, gdbarch.h: Regenerate. * infrun.c (resume): Update SOFTWARE_SINGLE_STEP call arguments. (handle_inferior_event): Call remove_single_step_breakpoints directly instead of calling SOFTWARE_SINGLE_STEP to remove breakpoints. * alpha-tdep.c (alpha_software_single_step): Update argument list. Remove handling of !insert_breakpoints_p case. * arm-tdep.c (arm_software_single_step): Likewise. * cris-tdep.c (cris_software_single_step): Likewise. * mips-tdep.c (mips_software_single_step): Likewise. * rs6000-tdep.c (rs6000_software_single_step): Likewise. * sparc-tdep.c (sparc_software_single_step): Likewise. * spu-tdep.c (spu_software_single_step): Likewise. * alpha-tdep.h (alpha_software_single_step): Update prototype. * mips-tdep.h (mips_software_single_step): Likewise. * rs6000-tdep.h (rs6000_software_single_step): Likewise. * sparc-tdep.h (sparc_software_single_step): Likewise.
2007-04-13 * infrun.c: Doc fixes.Daniel Jacobowitz1-3/+11
(handle_inferior_event): Clarify debug message. (insert_step_resume_breakpoint_at_sal): Print a debug message.
2007-04-122007-04-12 Luis Machado <luisgpm@br.ibm.com>Ulrich Weigand1-13/+15
* gdbarch.sh (software_single_step): Change the return type from void to int and reformatted some comments to <= 80 columns. * gdbarch.c, gdbarch.h: Regenerated. * alpha-tdep.c (alpha_software_single_step): Likewise. * alpha-tdep.h (alpha_software_single_step): Likewise. * arm-tdep.c (arm_software_single_step): Likewise. * cris-tdep.c (cris_software_single_step): Likewise. * mips-tdep.c (mips_software_single_step): Likewise. * mips-tdep.h (mips_software_single_step): Likewise. * rs6000-tdep.c (rs6000_software_single_step): Likewise. * rs6000-tdep.h (rs6000_software_single_step): Likewise. * sparc-tdep.c (sparc_software_single_step): Likewise. * sparc-tdep.h (sparc_software_single_step): Likewise. * spu-tdep.c (spu_software_single_step): Likewise. * infrun.c (resume): Check the return value from SOFTWARE_SINGLE_STEP and act accordingly.
2007-03-292007-03-29 Denis Pilat <denis.pilat@st.com>Denis Pilat1-4/+0
* stack.c (print_stack_frame): Always use LOC_AND_ADDRESS in MI output. * infrun.c (normal_stop): Remove MI specific frame printing treatment.
2007-03-28 * arch-utils.c (legacy_pc_in_sigtramp): Remove.Ulrich Weigand1-7/+0
* arch-utils.h (legacy_pc_in_sigtramp): Remove. * config/ia64/linux.mt (DEPRECATED_TM_FILE): Remove. * config/ia64/tm-linux.h: Remove file. * ia64-tdep.h (struct gdbarch_tdep): Add pc_in_sigtramp callback. * ia64-tdep.c (ia64_sigtramp_frame_sniffer): Use it instead of legacy_pc_in_sigtramp. (ia64_gdbarch_init): Initialize tdep->pc_in_sigtramp. * ia64-linux-tdep.c (ia64_linux_pc_in_sigtramp): Make static. Remove func_name argument. (ia64_linux_init_abi): Install it as tdep->pc_in_sigtramp. * infrun.c (HAVE_STEPPABLE_WATCHPOINT): Do not redefine. * target.c (update_current_target): Add to_have_steppable_watchpoint. * target.h (struct target_ops): Add to_have_steppable_watchpoint. (HAVE_STEPPABLE_WATCHPOINT): Define. * config/ia64/linux.mh (NATDEPFILES): Remove core-aout.o. * config/ia64/nm-linux.h (KERNEL_U_ADDR, U_REGS_OFFSET, CANNOT_FETCH_REGISTER, CANNOT_STORE_REGISTER, TARGET_CAN_USE_HARDWARE_WATCHPOINT, HAVE_STEPPABLE_WATCHPOINT, STOPPED_BY_WATCHPOINT, target_stopped_data_address, target_insert_watchpoint, target_remove_watchpoint): Remove. (FETCH_INFERIOR_REGISTERS): Define. * ia64-linux-nat.c (ia64_register_addr): Make static. (ia64_cannot_fetch_register, ia64_cannot_store_register): Likewise. (ia64_linux_insert_watchpoint): Make static. Remove ptid_p argument. (ia64_linux_remove_watchpoint): Likewise. Add type argument. (ia64_linux_stopped_data_address): Make static. Add target_ops. (ia64_linux_stopped_by_watchpoint): Make static. (ia64_linux_can_use_hw_breakpoint): New function. (ia64_linux_fetch_register, ia64_linux_fetch_registers): Likewise. (ia64_linux_store_register, ia64_linux_store_registers): Likewise. (_initialize_ia64_linux_nat): Install register and watchpoint ops.
2007-03-09 * infrun.c (breakpoints_failed): Remove unnecessary variable.Ulrich Weigand1-10/+4
(handle_inferior_event): Remove unnecessary braces. * breakpoint.c (bpstat_what): Remove wrong comment.
2007-02-28 * frame.c (frame_pop, frame_observer_target_changed): CallDaniel Jacobowitz1-6/+5
reinit_frame_cache. (flush_cached_frames): Rename to reinit_frame_cache and delete old implementation. * frame.h (flush_cached_frames): Delete prototype and update comment. * bsd-kvm.c (bsd_kvm_open, bsd_kvm_proc_cmd, bsd_kvm_pcb_cmd): Call reinit_frame_cache instead of flush_cached_frames. Do not call select_frame after reinit_frame_cache. * corelow.c (core_open): Likewise. * gdbarch.sh (deprecated_current_gdbarch_select_hack): Likewise. * infrun.c (prepare_to_proceed, context_switch) (handle_inferior_event): Likewise. * linux-fork.c (fork_load_infrun_state): Likewise. * ocd.c (ocd_start_remote): Likewise. * remote-e7000.c (e7000_start_remote): Likewise. * remote-mips.c (device): Likewise. * thread.c (switch_to_thread): Likewise. * tracepoint.c (finish_tfind_command): Likewise. * gdbarch.c: Regenerated.
2007-02-27 * frame.c (deprecated_selected_frame): Rename to...Daniel Jacobowitz1-2/+2
(selected_frame): ...this. Make static. (get_selected_frame, select_frame): Update. * frame.h (deprected_select_frame): Delete. (deprecated_safe_get_selected_frame): Update comments. * breakpoint.c, cli/cli-cmds.c, f-valprint.c, infcmd.c, inflow.c, infrun.c, stack.c, tui/tui-disasm.c, tui/tui-source.c, tui/tui-winsource.c, valops.c, varobj.c, findvar.c, macroscope.c, parse.c, regcache.h, sh64-tdep.c, tui/tui-hooks.c, tui/tui-win.c, tui/tui.c: Replace references to deprecated_selected_frame.
2007-02-22 * infrun.c (inferior_stop_reason, print_stop_reason): RemoveUlrich Weigand1-12/+0
BREAKPOINT_HIT and STOP_UNKNOWN.
2007-01-10 * infrun.c (singlestep_pc): New variable.Daniel Jacobowitz1-5/+61
(resume): Set singlestep_pc. (context_switch): Add a debugging message. Flush the frame cache. (handle_inferior_event): Add debugging messages. Handle thread hops when a software single step has completed. Let context_switch handle flushing the frame cache.
2007-01-09Copyright updates for 2007.Daniel Jacobowitz1-3/+2
2006-12-30 * infrun.c (handle_inferior_event): Don't callDaniel Jacobowitz1-3/+0
ENSURE_VFORKING_PARENT_REMAINS_STOPPED. * target.h (ENSURE_VFORKING_PARENT_REMAINS_STOPPED): Delete. (RESUME_EXECD_VFORKING_CHILD_TO_GET_PARENT_VFORK): Delete.