aboutsummaryrefslogtreecommitdiff
path: root/gdb/infrun.c
AgeCommit message (Collapse)AuthorFilesLines
2009-05-05 * inferior.h (read_pc, write_pc): Remove.Ulrich Weigand1-7/+8
* regcache.c (read_pc, write_pc): Remove. * infrun.c (displaced_step_fixup): Use regcache_read_pc instead of read_pc. (handle_inferior_event): Use regcache_read_pc instead of read_pc when determining value of stop_pc. Replace subsequent uses of read_pc by inspecting already-retrieved stop_pc value. (keep_going): Use regcache_read_pc instead of read_pc. * breakpoint.c (watchpoint_check): Use current frame architecture and PC instead of current_gdbarch and read_pc (). * tracepoint.c (set_traceframe_context): Replace PC argument with FRAME argument. (trace_start_command, finish_tfind_command): Update calls. (finish_tfind_command): Compare frame IDs to identify transitions between frames. (trace_find_pc_command): Use regcache_read_pc instead of read_pc. * rs6000-nat.c (exec_one_dummy_insn): Pass in regcache instead of gdbarch. Use regcache_read_pc and regcache_write_pc instead of read_pc and write_pc. (store_register): Make regcache argument non-const. Update call to exec_one_dummy_insn. * thread.c (switch_to_thread): Use regcache_read_pc instead of read_pc. * infcmd.c (post_create_inferior): Likewise. * solib-darwin.c (darwin_solib_create_inferior_hook): Likewise. * solib-pa64.c (pa64_solib_create_inferior_hook): Likewise. * solib-sunos.c (sunos_solib_create_inferior_hook): Likewise. * solib-svr4.c (enable_break, svr4_relocate_main_executable): Likewise. * linux-fork.c (fork_load_infrun_state): Likewise. * hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Likewise. * record.c (record_wait): Likewise. * procfs.c (procfs_wait): Likewise. * remote-mips.c (common_open, mips_wait): Likewise. * remote-m32r-sdi.c (m32r_resume): Likewise. * symfile.c (generic_load): Use regcache_write_pc instead of write_pc. * monitor.c (monitor_create_inferior, monitor_load): Likewise. * m32r-rom.c (m32r_load, m32r_upload_command): Likewise. * remote-m32r-sdi.c (m32r_create_inferior, m32r_load): Likewise. * remote-mips.c (mips_create_inferior, mips_load): Likewise. * solib-darwin.c: Include "regcache.h". * solib-pa64.c: Include "regcache.h". * solib-svr4.c: Include "regcache.h.". * symfile.c: Do not mention read_pc or write_pc in comments. * dink32-rom.c: Likewise. * m32r-rom.c: Likewise. * mips-tdep.c: Likewise.
2009-04-30* infrun.c (use_displaced_stepping): Return false if processHui Zhu1-1/+10
record and replay target is used. (proceed): Call function "record_not_record_set" if pocess record and replay target is used.
2009-04-202009-04-20 David Daney <ddaney@caviumnetworks.com>David Daney1-1/+1
* NEWS: Mention MIPS/Linux hardware watchpoint support. 2009-04-20 David Daney <ddaney@caviumnetworks.com> * mips-linux-nat.c (command.h, gdbcmd.h, gdb_assert.h): New #includes. (maint_show_dr, super_close): New variables. (super_fetch_registers, super_store_registers): Make static. (PTRACE_GET_WATCH_REGS, PTRACE_SET_WATCH_REGS, W_BIT, R_BIT, I_BIT) (W_MASK, R_MASK, I_MASK, IRW_MASK, MAX_DEBUG_REGISTER): Define. (pt_watch_style): Define new enum. (mips32_watch_regs, mips64_watch_regs, pt_watch_regs, mips_watchpoint): Define new structs. (watch_readback_valid, watch_readback, current_watches, watch_mirror): New variables. (get_irw_mask, get_reg_mask, get_num_valid, get_watchlo) (set_watchlo, get_watchhi, set_watchhi, mips_show_dr) (mips_linux_read_watch_registers, mips_linux_can_use_hw_breakpoint) (mips_linux_stopped_by_watchpoint, mips_linux_stopped_data_address) (type_to_irw, fill_mask, try_one_watch) (mips_linux_region_ok_for_hw_watchpoint, write_watchpoint_regs) (mips_linux_new_thread, populate_regs_from_watches) (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint) (mips_linux_close): New functions. (_initialize_mips_linux_nat): Register watchpoint functions with the target_ops. Add show-debug-regs maintenance command. 2009-04-20 David Daney <ddaney@caviumnetworks.com> * infrun.c (handle_inferior_event): Move gegisters_changed call down.
2009-04-142009-04-13 David Daney <ddaney@caviumnetworks.com>David Daney1-16/+31
* infrun.c (maybe_software_singlestep): New function. (resume): Call maybe_software_singlestep. (handle_inferior_event): Same.
2009-03-25gdb/Pedro Alves1-0/+10
* infrun.c (infrun_thread_thread_exit): New. (_initialize_infrun): Attach it to the thread_exit observer. * thread.c (delete_thread_1): Always call the observer, passing it the silent flag. * mi/mi-interp.c (mi_thread_exit): Add "silent" parameter. If SILENT, return immediately. gdb/doc/ * observer.texi (thread_exit): Add "silent" parameter.
2009-03-25 * infrun.c (normal_stop): Use has_stack_frames instead ofPedro Alves1-2/+2
target_has_stack. * mi/mi-main.c (mi_execute_command): Avoid calling inferior_thread when there is no thread selected. (mi_cmd_execute): Don't special case commands that can run without a valid selected thread. * top.c (execute_command): Don't special case commands that can run without a valid selected thread. Use has_stack_frames. * infcmd.c (ensure_valid_thread): New. (continue_1, step_1, jump_command, signal_command): Use it. (detach_command): Error out if there's no selected thread/inferior. * thread.c (print_thread_info): Allow having no thread selected. (switch_to_thread): Don't read the PC if there is no current thread. (do_restore_current_thread_cleanup): Don't record the current frame if there is no current thread. (make_cleanup_restore_current_thread): Don't read frame info if there is no selected thread. (_initialize_thread): Don't mark commands as "no_selected_thread_ok". * frame.c (get_current_frame): Error out if there is no valid selected thread. (has_stack_frames): Return false if there is no valid selected thread. * cli/cli-cmds.c (init_cli_cmds): Don't mark commands as "no_selected_thread_ok". * cli/cli-decode.c (set_cmd_no_selected_thread_ok) (get_cmd_no_selected_thread_ok): Delete. * cli/cli-decode.h (CMD_NO_SELECTED_THREAD_OK): Delete. (set_cmd_no_selected_thread_ok, get_cmd_no_selected_thread_ok): Delete declaration. * stack.c (get_selected_block): Use has_stack_frames.
2009-03-22gdb/Pedro Alves1-4/+2
* 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-22 * gdbthread.h (struct thread_info): Add in_infcall member.Pedro Alves1-1/+5
* infcall.c (run_inferior_call): Save, set and restore in_infcall. Remove reverences to suppress_resume_observer. Refresh `call_thread' after returning from `proceed'. * infcmd.c (suppress_resume_observer): Delete. * inferior.h (suppress_resume_observer): Delete declaration. * mi/mi-interp.c (mi_on_resume): Suppress output while calling an inferior function. * thread.c (set_running): Remove references to suppress_resume_observer. * infrun.c (struct inferior_status): Add in_infcall member. (save_inferior_status): Save it. (restore_inferior_status): Restore it.
2009-03-22 * infcall.c (run_inferior_call): Remove references toPedro Alves1-5/+19
suppress_stop_observer. * infcmd.c (suppress_stop_observer): Delete. (finish_command_continuation): Remove NOTE. Don't clear suppress_stop_observer anymore. (finish_command_continuation_free_arg): Likewise. (finish_forward): Remove references to suppress_stop_observer. Call normal_stop observer if we haven't already. * inferior.h (suppress_stop_observer): Delete. * infrun.c (normal_stop): When deciding to suppress the normal_stop observer, check for proceed_to_finish instead of suppress_stop_observer.
2009-03-17 * infrun.c (normal_stop): Don't overwrite old_chain.Pedro Alves1-2/+2
2009-03-01 Include thread ID in target_wait debugging output.Doug Evans1-16/+42
* infrun.c (print_target_wait_results): New function. (wait_for_inferior,fetch_inferior_event): Call it.
2009-02-252009-02-25 Hui Zhu <teawater@gmail.com>Hui Zhu1-2/+2
* cli/cli-script.c (define_command): Add _() to query. * gnu-nat.c (inf_validate_task_sc): Ditto. * infcmd.c (kill_if_already_running): Ditto. (jump_command): Ditto. (attach_command): Ditto. * inflow.c (kill_command): Ditto. * infrun.c (handle_command): Ditto. * maint.c (maintenance_dump_me): Ditto. * memattr.c (mem_delete_command): Ditto. * monitor.c (monitor_interrupt_query): Ditto. * nto-procfs.c (interrupt_query): Ditto. * printcmd.c (undisplay_command): Ditto. * remote-mips.c (mips_kill): Ditto. * remote.c (interrupt_query): Ditto. * solib-irix.c (irix_open_symbol_file_object): Ditto. * solib-osf.c (osf_open_symbol_file_object): Ditto. * solib-pa64.c (pa64_open_symbol_file_object): Ditto. * solib-som.c (som_open_symbol_file_object): Ditto. * solib-svr4.c (open_symbol_file_object): Ditto. * symfile.c (symbol_file_add_with_addrs_or_offsets): Ditto. * target.c (kill_or_be_killed): Ditto. * tracepoint.c (delete_trace_command): Ditto. * top.c (quit_confirm): Add _() to s that will be used in query.
2009-02-212008-02-21 Pedro Alves <pedro@codesorcery.com>Pedro Alves1-2/+2
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-14 Include frame information for *stopped due to CLI commands.Vladimir Prus1-18/+3
* ada-tasks.c (ada_normal_stop_observer): Adjust prototype. * infcmd.c (finish_command_continuation): Pass '1' for 'print_frame' parameter to the observer. * infrun.c (normal_stop): Don't print mi-specific information here. Pass 'stop_print_frame' to the 'print_frame' parameter of the observer. * mi/mi-interp.c (mi_on_normal_stop): Adjust prototype. If we need to print frame, and current uiout is not the MI one, print frame again.
2009-02-062009-02-06 Pedro Alves <pedro@codesourcery.com>Pedro Alves1-0/+87
gdb/ * target.h (enum target_object): Add new TARGET_OBJECT_SIGNAL_INFO. * infrun.c (siginfo_value_read, siginfo_value_write): New. (siginfo_value_funcs): New. (siginfo_make_value): New. (_initialize_infrun): Create the $_siginfo convenience variable. * gdbtypes.h (append_composite_type_field_aligned): Declare. * gdbtypes.c (append_composite_type_field): Rename to... (append_composite_type_field_aligned): ... this. Add ALIGNMENT argument. Handle it. (append_composite_type_field): Rewrite on top of append_composite_type_field_aligned. * value.h (internalvar_make_value): New typedef. (struct internalvar) <make_value>: New field. (create_internalvar_type_lazy): Declare. * value.c (create_internalvar): Clear make_value. (create_internalvar_type_lazy): New. (value_of_internalvar): If make_value is set use it. (preserve_values): Skip internal variables that don't have a value. * gdbarch.sh (get_siginfo_type): New. * gdbarch.h, gdbarch.c: Regenerate. * linux-tdep.h, linux-tdep.c: New. * amd64-linux-tdep.c: Include "linux-tdep.h". (amd64_linux_init_abi): Register linux_get_siginfo_type and linux_get_siginfo_mapper. * i386-linux-tdep.c: Include "linux-tdep.h". (i386_linux_init_abi): Register linux_get_siginfo_type and linux_get_siginfo_mapper. * arm-linux-tdep.c: Include "linux-tdep.h". (i386_linux_init_abi): Register linux_get_siginfo_type and linux_get_siginfo_mapper. * linux-nat.c (linux_xfer_siginfo): New. (linux_nat_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO. * remote.c (PACKET_qXfer_siginfo_read) (PACKET_qXfer_siginfo_write): New. (feature remote_protocol_features): Add "qXfer:siginfo:read" and "qXfer:siginfo:write" features. (remote_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO. (_initialize_remote): Add "set/show remote read-siginfo-object" and "set/show remote write-siginfo-object" commands. * Makefile.in (ALL_TARGET_OBS): Add linux-tdep.o. (HFILES_NO_SRCDIR): Add linux-tdep.h. (ALLDEPFILES): Add linux-tdep.c. * configure.tgt (arm*-*-linux* | arm*-*-uclinux*) (i[34567]86-*-linux*, x86_64-*-linux*): Add linux-tdep.o to gdb_target_obs. 2009-02-06 Pedro Alves <pedro@codesourcery.com> gdb/gdbserver/ * server.c (handle_query): Report qXfer:siginfo:read and qXfer:siginfo:write as supported and handle them. * target.h (struct target_ops) <qxfer_siginfo>: New field. * linux-low.c (linux_xfer_siginfo): New. (linux_target_ops): Set it. 2009-02-06 Pedro Alves <pedro@codesourcery.com> gdb/doc/ * gdb.texinfo (Signals): Document $_siginfo. (Convenience Variables): Mention $_siginfo. (Remote Configuration): Document qXfer:siginfo:read, qXfer:siginfo:write packets, and the read-siginfo-object, write-siginfo-object commands. 2009-02-06 Pedro Alves <pedro@codesourcery.com> gdb/testsuite/ * gdb.base/siginfo-obj.c, gdb.base/siginfo-obj.exp: New.
2009-02-01 * target.h (target_waitstatus_to_string): Declare.Doug Evans1-0/+20
* target.c (target_waitstatus_to_string): New function. Copied from debug_to_wait. Add missing entries for TARGET_WAITKIND_SYSCALL_ENTRY, TARGET_WAITKIND_SYSCALL_RETURN, TARGET_WAITKIND_IGNORE, TARGET_WAITKIND_NO_HISTORY. (debug_to_wait): Call it. * infrun.c (wait_for_inferior): If debug_infrun, print result of target_wait. (fetch_inferior_event): Ditto.
2009-01-24 * infrun.c (normal_stop): Don't callPedro Alves1-11/+0
deprecated_update_frame_pc_hack. * frame.c (deprecated_update_frame_pc_hack) (deprecated_update_frame_base_hack): Delete, and ... (create_new_frame): ... inline here. * frame.h (deprecated_update_frame_pc_hack) (deprecated_update_frame_base_hack): Delete declarations.
2009-01-232009-01-23 Pedro Alves <pedro@codesourcery.com>Pedro Alves1-10/+9
PR gdb/9664: * infrun.c (normal_stop): Tag threads as stopped, and run the hook-stop before printing the stack frame. 2009-01-23 Pedro Alves <pedro@codesourcery.com> PR gdb/9664: * gdb.base/hook-stop-frame.c, gdb.base/hook-stop-frame.exp: New.
2009-01-19 * dummy-frame.c (dummy_frame): Replace regcache member withDoug Evans1-45/+99
caller_state. (dummy_frame_push): Replace caller_regcache arg with caller_state. All callers updated. (remove_dummy_frame,pop_dummy_frame,lookup_dummy_frame): New fns. (dummy_frame_pop): Rewrite. Verify requested frame is in the dummy frame stack. Restore program state. (cleanup_dummy_frames): Rewrite. (dummy_frame_sniffer): Update. Make static. * dummy-frame.h (regcache,frame_info): Delete forward decls. (inferior_thread_state): New forward decl. (dummy_frame_push): Update prototype. * frame.c (frame_pop): dummy_frame_pop now does all the work for DUMMY_FRAMEs. * infcall.c (breakpoint_auto_delete_contents): Delete. (get_function_name,run_inferior_call): New fns. (call_function_by_hand): Simplify by moving some code to get_function_name, run_inferior_call. Inferior function call wrapped in TRY_CATCH so there's less need for cleanups and all exits from proceed are handled similarily. Detect program exit. Detect program stopping in a different thread. Make error messages more consistent. * inferior.h (inferior_thread_state): Declare (opaque type). (save_inferior_thread_state,restore_inferior_thread_state, make_cleanup_restore_inferior_thread_state, discard_inferior_thread_state, get_inferior_thread_state_regcache): Declare. (save_inferior_status): Update prototype. * infrun.c: (normal_stop): When stopped for the completion of an inferior function call, verify the expected stack frame kind. (inferior_thread_state): New struct. (save_inferior_thread_state,restore_inferior_thread_state, do_restore_inferior_thread_state_cleanup, make_cleanup_restore_inferior_thread_state, discard_inferior_thread_state, get_inferior_thread_state_regcache): New functions. (inferior_status): Move stop_signal, stop_pc, registers to inferior_thread_state. Remove restore_stack_info. (save_inferior_status): Remove arg restore_stack_info. All callers updated. Remove saving of state now saved by save_inferior_thread_state. (restore_inferior_status): Remove restoration of state now done by restore_inferior_thread_state. (discard_inferior_status): Remove freeing of registers, now done by discard_inferior_thread_state. * gdb.base/break.exp: Update expected gdb output. * gdb.base/sepdebug.exp: Ditto. * gdb.mi/mi-syn-frame.exp: Ditto. * gdb.mi/mi2-syn-frame.exp: Ditto. * gdb.base/call-signal-resume.exp: New file. * gdb.base/call-signals.c: New file. * gdb.base/unwindonsignal.exp: New file. * gdb.base/unwindonsignal.c: New file. * gdb.threads/interrupted-hand-call.exp: New file. * gdb.threads/interrupted-hand-call.c: New file. * gdb.threads/thread-unwindonsignal.exp: New file.
2009-01-18 PR gdb/9747:Pedro Alves1-12/+39
* gdbthread.h (finish_thread_state, finish_thread_state_cleanup): Declare. * thread.c (finish_thread_state, finish_thread_state_cleanup): New. * infrun.c (wait_for_inferior, fetch_inferior_event): If an error is thrown while handling an event, finish the thread state. (normal_stop): Use finish_thread_state cleanup. * infcmd.c (run_command_1): If an error is thrown while starting the inferior, finish the thread state.
2009-01-15 * target.h (target_signal_to_string): Make return type const char *.Doug Evans1-1/+1
(target_signal_to_name): Ditto. (target_signal_from_name): Make arg const char *. * thread-db.c (thread_db_err_str): Make return type const char *. * utils.c (perror_with_name): Make arg const char *. * infrun.c (sig_print_info): Update. * signals/signals.c (signals): Make array and struct members const. (target_signal_to_string): Make return type const char *. (target_signal_to_name): Ditto. (target_signal_from_name): Make arg const char *. * gdbserver/gdbreplay.c (perror_with_name): Make arg const char *. * gdbserver/server.h (target_signal_to_name): Make return type const char *.
2009-01-07gdb/Pedro Alves1-1/+0
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
2008-12-312008-12-31 Pedro Alves <pedro@codesourcery.com>Pedro Alves1-13/+15
PR gdb/8812: * infrun.c (handle_command): Don't print a header or notify the target about signal changes if we didn't change any signal. 2008-12-31 Pedro Alves <pedro@codesourcery.com> PR gdb/8812: * gdb.base/signal.exp: Change kfail to fail, and update PR number.
2008-12-12 * infrun.c (handle_inferior_event): Correctly tag non-executingPedro Alves1-16/+28
threads in multi-process. (normal_stop): Correctly tag stopped threads in multi-process.
2008-12-11 * infrun.c (handle_inferior_event): On a TARGET_WAITKIND_EXITED orPedro Alves1-0/+2
TARGET_WAITKIND_SIGNALLED, switch inferior_ptid to the event ptid. * linux_thread_db.c (thread_db_wait): On a TARGET_WAITKIND_EXITED or TARGET_WAITKIND_SIGNALLED, return the ptid the beneath target returned. * inf-ptrace.c (inf_ptrace_wait): Return inferior_ptid instead of minus_one_ptid if the inferior disappeared. * rs6000-nat.c (rs6000_wait): Likewise. * spu-linux-nat.c (spu_child_wait): Likewise.
2008-12-02 * infrun.c (handle_inferior_event): Remove redundant resetting ofDoug Evans1-2/+0
stepping_past_singlestep_breakpoint.
2008-12-02 * infrun.c (handle_inferior_event): Delete unused local tp.Doug Evans1-2/+0
2008-12-02* infrun.c (proceed): Delete unused local stop_signal.Doug Evans1-1/+0
2008-11-22 Remove the unused BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK.Joel Brobecker1-1/+0
* 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-20 * infrun.c (resume): If following a fork, also reset regcache,Pedro Alves1-0/+6
gdbarch and pc.
2008-11-20 * infrun.c (resume): If following a fork, reread the currentPedro Alves1-2/+6
thread. Avoid dereferencing a possibly dangling pointer.
2008-11-20 * inferior.h (proceed_to_finish): Delete, unused.Doug Evans1-2/+2
(stop_registers): Tweak comment. * infrun.c (stop_registers): Tweak comment.
2008-11-17 PR gdb/2250Ulrich Weigand1-22/+102
* infrun.c (clear_proceed_status_thread): New function. (clear_proceed_status_callback): New function. (clear_proceed_status): In all-stop mode, clear per-thread proceed status of *all* threads, not only the current. (handle_inferior_event): In all-stop mode, if we're stepping one thread, but got some inferior event in another thread that does not cause GDB to break to the user interface, ensure the interrupted stepping operation continues in the original thread. (currently_stepping): Move thread-related tests to ... (currently_stepping_thread): ... this new function. (currently_stepping_callback): New function.
2008-11-16 Remove support for catch load and catch unload commands.Joel Brobecker1-37/+0
* 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-05 * defs.h (add_inferior_continuation)Pedro Alves1-2/+11
(do_all_inferior_continuations) (discard_all_inferior_continuations): Declare. * utils.c (add_inferior_continuation) (do_all_inferior_continuations) (discard_all_inferior_continuations): New. * inferior.h (struct inferior) <continuations>: New field. * inferior.c (free_inferior): Discard all the inferior continuations. * inf-loop.c (inferior_event_handler): Do all current inferior continuations. * infcmd.c (attach_command): Register an inferior continuation instead of a thread continuation. * infrun.c (handle_inferior_event): If stop_soon is STOP_QUIETLY_NO_SIGSTOP, also expect a TARGET_SIGNAL_0.
2008-10-31 * inferior.h (write_inferior_status_register): Delete.Pedro Alves1-10/+0
* infrun.c (write_inferior_status_register): Delete.
2008-10-272008-10-26 Michael Snyder <msnyder@vmware.com>Michael Snyder1-0/+16
* infrun.c (handle_inferior_event): Handle dynamic symbol resolution in reverse.
2008-10-25 * infrun.c: Minor comment reformatting.Joel Brobecker1-2/+1
2008-10-242008-10-24 Hui Zhu <teawater@gmail.com>Hui Zhu1-18/+51
Pedro Alves <pedro@codesourcery.com> * infrun.c (can_use_displaced_stepping): Change type to const char pointer. (can_use_displaced_stepping_auto): New string. (can_use_displaced_stepping_on): New string. (can_use_displaced_stepping_off): New string. (can_use_displaced_stepping_enum): New array. (show_can_use_displaced_stepping): In auto mode, also show the current effect of the option. (use_displaced_stepping): Return non-zero if displaced stepping is auto, and can be used with GDBARCH, and in non-stop mode. Return non-zero if displaced stepping is on, and can be used with GDBARCH. Return zero otherwise. (_initialize_infrun): Make the "set displaced-stepping" command an enum command. Change its class to class_run. Place it in the top level set list. Extend help to describe the auto mode. 2008-10-24 Hui Zhu <teawater@gmail.com> Pedro Alves <pedro@codesourcery.com> * gdb.texinfo (displaced-stepping): Describe the auto mode setting, and say it's the default. This is now a mainstream setting instead of a maintenance setting.
2008-10-23gdb/Pedro Alves1-21/+156
2008-10-23 Pedro Alves <pedro@codesourcery.com> * defs.h: Mention ptid_is_pid. * inferior.h (ptid_is_pid): Declare. * gdbthread.h (struct thread_info) <stop_requested>: New field. (set_stop_requested): Declare. * infcmd.c (interrupt_target_1): Call set_stop_requested. * infrun.c (clear_proceed_status): Clear stop_requested. (infrun_thread_stop_requested_callback, infrun_thread_stop_requested): New. (handle_inferior_event): If a TARGET_SIGNAL_TRAP is reported on a thread that had an explicit stop request, pretend we got a TARGET_SIGNAL_0. Always stop if the thread had an explicit stop request. (print_stop_reason): In the SIGNAL_RECEIVED case, if we're not outputting to MI, and we got a TARGET_SIGNAL_0, print "# Stopped", instead of mentioning signal 0. (ptid_is_pid): New. * thread.c (set_stop_requested): New. * linux-nat.c (queued_waitpid): Rename to ... (queued_waitpid_1): ... this. Add `peek' argument. Handle it. (queued_waitpid): New, as wrapper to queued_waitpid_1. (push_waitpid): Push the SIGTRAP to the local event queue, to the kernel's. (send_sigint_callback): Delete. (linux_nat_stop_lwp): New. (linux_nat_stop): Use it. gdb/doc/ 2008-10-23 Pedro Alves <pedro@codesourcery.com> * observer.texi (thread_stop_requested): New. gdb/testsuite/ 2008-10-23 Pedro Alves <pedro@codesourcery.com> * lib/mi-support.exp (mi_expect_interrupt): Expect signal 0 instead of SIGINT.
2008-10-202008-10-19 Hui Zhu <teawater@gmail.com>Hui Zhu1-0/+1
* infrun.c (handle_inferior_event): Set "stop_pc" when TARGET_WAITKIND_NO_HISTORY.
2008-10-18 * infrun.c (adjust_pc_after_break): Do nothing if executing inPedro Alves1-0/+29
reverse.
2008-10-172008-10-17 Michael Snyder <msnyder@vmware.com>Michael Snyder1-21/+193
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-15gdb/Pedro Alves1-23/+61
* 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 * infrun.c (displaced_step_prepare): Switch thread temporarilyPedro Alves1-7/+25
while we're here. (displaced_step_fixup): Make sure target_resume sees ptid as inferior_ptid. Add debug output.
2008-10-052008-10-05 Michael Snyder <msnyder@promb-2s-dhcp59.eng.vmware.com>Michael Snyder1-1/+1
* infrun.c (handle_inferior_event): Fix typo in comment.
2008-10-032008-10-03 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov1-10/+5
* utils.c, defs.h (gdb_buildargv): New fn. Wrap buildargv and check for out-of-memory condition. * exec.c (exec_file_command): Call it. * infrun.c (handle_command, xdb_handle_command): Likewise. * interps.c (interpreter_exec_cmd): Likewise. * linux-nat.c (linux_nat_info_proc_cmd): Likewise. * procfs.c (info_proc_cmd): Likewise. * remote-mips.c (common_open): Likewise. * remote-sim.c (gdbsim_kill, gdbsim_create_inferior) (gdbsim_open): Likewise. * remote.c (extended_remote_run, remote_put_command) (remote_get_command, remote_delete_command): Likewise. * ser-mingw.c (pipe_windows_open): Likesise. * source.c (add_path, show_substitute_path_command) (unset_substitute_path_command, set_substitute_path_command): Likewise. * stack.c (backtrace_command): Likewise. * symfile.c (symbol_file_command, generic_load) (add_symbol_file_command): Likesise. * symmisc.c (maintenance_print_symbols, maintenance_print_psymbols) (maintenance_print_msymbols): Likewise.
2008-10-02 * mips-linux-tdep.c (mips_linux_in_dynsym_resolve_code): UpdateDaniel Jacobowitz1-1/+1
comments. (mips_linux_skip_resolver): Also use glibc_skip_solib_resolver. (mips_linux_init_abi): Do not override skip_trampoline_code. * configure.tgt (mips*-*-linux*): Add glibc-tdep.o. * mips-tdep.c (mips32_scan_prologue): Stop scanning at branches. (mips_stub_frame_sniffer): Use the stub frame sniffer for PIC stubs. (mips_skip_mips16_trampoline_code): Rename from mips_skip_trampoline_code. (mips_skip_pic_trampoline_code, mips_skip_trampoline_code): New. * infrun.c (handle_inferior_event): Do not pass zero to in_solib_dynsym_resolve_code.
2008-09-22 * infrun.c (follow_exec): Don't do a generic mourn. InsteadPedro Alves1-4/+2
inline the required bits. * breakpoint.h (enum inf_context): Add inf_execd.