X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FChangeLog;h=63c32a0e456162e88a0bed71fcba36a35e1feb98;hb=2f4fcf00399bc0ad5a4fed6b530128e8be4f40da;hp=425bafa9b26a55133a020a31fca8649511490ec3;hpb=f5a7c406b1975cde626efed526960f2cf1bdaceb;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 425bafa9b2..63c32a0e45 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,628 @@ +2020-01-10 Pedro Alves + + * infrun.c: Include "target-connection.h". + (check_multi_target_resumption): New. + (proceed): Call it. + * target-connection.c (make_target_connection_string): Make + extern. + * target-connection.h (make_target_connection_string): Declare. + +2020-01-10 Pedro Alves + + * Makefile.in (COMMON_SFILES): Add target-connection.c. + * inferior.c (uiout_field_connection): New function. + (print_inferior): Add new "connection-id" column. + (add_inferior_command): Show connection number/string of added + inferior. + * process-stratum-target.h + (process_stratum_target::connection_string): New virtual method. + (process_stratum_target::connection_number): New field. + * remote.c (remote_target::connection_string): New override. + * target-connection.c: New file. + * target-connection.h: New file. + * target.c (decref_target): Remove process_stratum targets from + the connection list. + (target_stack::push): Add process_stratum targets to the + connection list. + +2020-01-10 Pedro Alves + + Revert: + 2016-04-12 Pedro Alves + * serial.c (serial_open, serial_fdopen_ops, do_serial_close): + Remove references to name. + * serial.h (struct serial) : Delete. + +2020-01-10 Pedro Alves + + * gdbarch-selftests.c (register_to_value_test): Remove "target + already pushed" check. + +2020-01-10 Pedro Alves + John Baldwin + + * aarch64-linux-nat.c + (aarch64_linux_nat_target::thread_architecture): Adjust. + * ada-tasks.c (print_ada_task_info): Adjust find_thread_ptid call. + (task_command_1): Likewise. + * aix-thread.c (sync_threadlists, aix_thread_target::resume) + (aix_thread_target::wait, aix_thread_target::fetch_registers) + (aix_thread_target::store_registers) + (aix_thread_target::thread_alive): Adjust. + * amd64-fbsd-tdep.c: Include "inferior.h". + (amd64fbsd_get_thread_local_address): Pass down target. + * amd64-linux-nat.c (ps_get_thread_area): Use ps_prochandle + thread's gdbarch instead of target_gdbarch. + * break-catch-sig.c (signal_catchpoint_print_it): Adjust call to + get_last_target_status. + * break-catch-syscall.c (print_it_catch_syscall): Likewise. + * breakpoint.c (breakpoints_should_be_inserted_now): Consider all + inferiors. + (update_inserted_breakpoint_locations): Skip if inferiors with no + execution. + (update_global_location_list): When handling moribund locations, + find representative inferior for location's pspace, and use thread + count of its process_stratum target. + * bsd-kvm.c (bsd_kvm_target_open): Pass target down. + * bsd-uthread.c (bsd_uthread_target::wait): Use + as_process_stratum_target and adjust thread_change_ptid and + add_thread calls. + (bsd_uthread_target::update_thread_list): Use + as_process_stratum_target and adjust find_thread_ptid, + thread_change_ptid and add_thread calls. + * btrace.c (maint_btrace_packet_history_cmd): Adjust + find_thread_ptid call. + * corelow.c (add_to_thread_list): Adjust add_thread call. + (core_target_open): Adjust add_thread_silent and thread_count + calls. + (core_target::pid_to_str): Adjust find_inferior_ptid call. + * ctf.c (ctf_target_open): Adjust add_thread_silent call. + * event-top.c (async_disconnect): Pop targets from all inferiors. + * exec.c (add_target_sections): Push exec target on all inferiors + sharing the program space. + (remove_target_sections): Remove the exec target from all + inferiors sharing the program space. + (exec_on_vfork): New. + * exec.h (exec_on_vfork): Declare. + * fbsd-nat.c (fbsd_add_threads): Add fbsd_nat_target parameter. + Pass it down. + (fbsd_nat_target::update_thread_list): Adjust. + (fbsd_nat_target::resume): Adjust. + (fbsd_handle_debug_trap): Add fbsd_nat_target parameter. Pass it + down. + (fbsd_nat_target::wait, fbsd_nat_target::post_attach): Adjust. + * fbsd-tdep.c (fbsd_corefile_thread): Adjust + get_thread_arch_regcache call. + * fork-child.c (gdb_startup_inferior): Pass target down to + startup_inferior and set_executing. + * gdbthread.h (struct process_stratum_target): Forward declare. + (add_thread, add_thread_silent, add_thread_with_info) + (in_thread_list): Add process_stratum_target parameter. + (find_thread_ptid(inferior*, ptid_t)): New overload. + (find_thread_ptid, thread_change_ptid): Add process_stratum_target + parameter. + (all_threads()): Delete overload. + (all_threads, all_non_exited_threads): Add process_stratum_target + parameter. + (all_threads_safe): Use brace initialization. + (thread_count): Add process_stratum_target parameter. + (set_resumed, set_running, set_stop_requested, set_executing) + (threads_are_executing, finish_thread_state): Add + process_stratum_target parameter. + (switch_to_thread): Use is_current_thread. + * i386-fbsd-tdep.c: Include "inferior.h". + (i386fbsd_get_thread_local_address): Pass down target. + * i386-linux-nat.c (i386_linux_nat_target::low_resume): Adjust. + * inf-child.c (inf_child_target::maybe_unpush_target): Remove + have_inferiors check. + * inf-ptrace.c (inf_ptrace_target::create_inferior) + (inf_ptrace_target::attach): Adjust. + * infcall.c (run_inferior_call): Adjust. + * infcmd.c (run_command_1): Pass target to + scoped_finish_thread_state. + (proceed_thread_callback): Skip inferiors with no execution. + (continue_command): Rename 'all_threads' local to avoid hiding + 'all_threads' function. Adjust get_last_target_status call. + (prepare_one_step): Adjust set_running call. + (signal_command): Use user_visible_resume_target. Compare thread + pointers instead of inferior_ptid. + (info_program_command): Adjust to pass down target. + (attach_command): Mark target's 'thread_executing' flag. + (stop_current_target_threads_ns): New, factored out from ... + (interrupt_target_1): ... this. Switch inferior before making + target calls. + * inferior-iter.h + (struct all_inferiors_iterator, struct all_inferiors_range) + (struct all_inferiors_safe_range) + (struct all_non_exited_inferiors_range): Filter on + process_stratum_target too. Remove explicit. + * inferior.c (inferior::inferior): Push dummy target on target + stack. + (find_inferior_pid, find_inferior_ptid, number_of_live_inferiors): + Add process_stratum_target parameter, and pass it down. + (have_live_inferiors): Adjust. + (switch_to_inferior_and_push_target): New. + (add_inferior_command, clone_inferior_command): Handle + "-no-connection" parameter. Use + switch_to_inferior_and_push_target. + (_initialize_inferior): Mention "-no-connection" option in + the help of "add-inferior" and "clone-inferior" commands. + * inferior.h: Include "process-stratum-target.h". + (interrupt_target_1): Use bool. + (struct inferior) : New. + (discard_all_inferiors): Delete. + (find_inferior_pid, find_inferior_ptid, number_of_live_inferiors) + (all_inferiors, all_non_exited_inferiors): Add + process_stratum_target parameter. + * infrun.c: Include "gdb_select.h" and . + (target_last_proc_target): New global. + (follow_fork_inferior): Push target on new inferior. Pass target + to add_thread_silent. Call exec_on_vfork. Handle target's + reference count. + (follow_fork): Adjust get_last_target_status call. Also consider + target. + (follow_exec): Push target on new inferior. + (struct execution_control_state) : New field. + (user_visible_resume_target): New. + (do_target_resume): Call target_async. + (resume_1): Set target's threads_executing flag. Consider resume + target. + (commit_resume_all_targets): New. + (proceed): Also consider resume target. Skip threads of inferiors + with no execution. Commit resumtion in all targets. + (start_remote): Pass current inferior to wait_for_inferior. + (infrun_thread_stop_requested): Consider target as well. Pass + thread_info pointer to clear_inline_frame_state instead of ptid. + (infrun_thread_thread_exit): Consider target as well. + (random_pending_event_thread): New inferior parameter. Use it. + (do_target_wait): Rename to ... + (do_target_wait_1): ... this. Add inferior parameter, and pass it + down. + (threads_are_resumed_pending_p, do_target_wait): New. + (prepare_for_detach): Adjust calls. + (wait_for_inferior): New inferior parameter. Handle it. Use + do_target_wait_1 instead of do_target_wait. + (fetch_inferior_event): Adjust. Switch to representative + inferior. Pass target down. + (set_last_target_status): Add process_stratum_target parameter. + Save target in global. + (get_last_target_status): Add process_stratum_target parameter and + handle it. + (nullify_last_target_wait_ptid): Clear 'target_last_proc_target'. + (context_switch): Check inferior_ptid == null_ptid before calling + inferior_thread(). + (get_inferior_stop_soon): Pass down target. + (wait_one): Rename to ... + (poll_one_curr_target): ... this. + (struct wait_one_event): New. + (wait_one): New. + (stop_all_threads): Adjust. + (handle_no_resumed, handle_inferior_event): Adjust to consider the + event's target. + (switch_back_to_stepped_thread): Also consider target. + (print_stop_event): Update. + (normal_stop): Update. Also consider the resume target. + * infrun.h (wait_for_inferior): Remove declaration. + (user_visible_resume_target): New declaration. + (get_last_target_status, set_last_target_status): New + process_stratum_target parameter. + * inline-frame.c (clear_inline_frame_state(ptid_t)): Add + process_stratum_target parameter, and use it. + (clear_inline_frame_state (thread_info*)): New. + * inline-frame.c (clear_inline_frame_state(ptid_t)): Add + process_stratum_target parameter. + (clear_inline_frame_state (thread_info*)): Declare. + * linux-fork.c (delete_checkpoint_command): Pass target down to + find_thread_ptid. + (checkpoint_command): Adjust. + * linux-nat.c (linux_nat_target::follow_fork): Switch to thread + instead of just tweaking inferior_ptid. + (linux_nat_switch_fork): Pass target down to thread_change_ptid. + (exit_lwp): Pass target down to find_thread_ptid. + (attach_proc_task_lwp_callback): Pass target down to + add_thread/set_running/set_executing. + (linux_nat_target::attach): Pass target down to + thread_change_ptid. + (get_detach_signal): Pass target down to find_thread_ptid. + Consider last target status's target. + (linux_resume_one_lwp_throw, resume_lwp) + (linux_handle_syscall_trap, linux_handle_extended_wait, wait_lwp) + (stop_wait_callback, save_stop_reason, linux_nat_filter_event) + (linux_nat_wait_1, resume_stopped_resumed_lwps): Pass target down. + (linux_nat_target::async_wait_fd): New. + (linux_nat_stop_lwp, linux_nat_target::thread_address_space): Pass + target down. + * linux-nat.h (linux_nat_target::async_wait_fd): Declare. + * linux-tdep.c (get_thread_arch_regcache): Pass target down. + * linux-thread-db.c (struct thread_db_info::process_target): New + field. + (add_thread_db_info): Save target. + (get_thread_db_info): New process_stratum_target parameter. Also + match target. + (delete_thread_db_info): New process_stratum_target parameter. + Also match target. + (thread_from_lwp): Adjust to pass down target. + (thread_db_notice_clone): Pass down target. + (check_thread_db_callback): Pass down target. + (try_thread_db_load_1): Always push the thread_db target. + (try_thread_db_load, record_thread): Pass target down. + (thread_db_target::detach): Pass target down. Always unpush the + thread_db target. + (thread_db_target::wait, thread_db_target::mourn_inferior): Pass + target down. Always unpush the thread_db target. + (find_new_threads_callback, thread_db_find_new_threads_2) + (thread_db_target::update_thread_list): Pass target down. + (thread_db_target::pid_to_str): Pass current inferior down. + (thread_db_target::get_thread_local_address): Pass target down. + (thread_db_target::resume, maintenance_check_libthread_db): Pass + target down. + * nto-procfs.c (nto_procfs_target::update_thread_list): Adjust. + * procfs.c (procfs_target::procfs_init_inferior): Declare. + (proc_set_current_signal, do_attach, procfs_target::wait): Adjust. + (procfs_init_inferior): Rename to ... + (procfs_target::procfs_init_inferior): ... this and adjust. + (procfs_target::create_inferior, procfs_notice_thread) + (procfs_do_thread_registers): Adjust. + * ppc-fbsd-tdep.c: Include "inferior.h". + (ppcfbsd_get_thread_local_address): Pass down target. + * proc-service.c (ps_xfer_memory): Switch current inferior and + program space as well. + (get_ps_regcache): Pass target down. + * process-stratum-target.c + (process_stratum_target::thread_address_space) + (process_stratum_target::thread_architecture): Pass target down. + * process-stratum-target.h + (process_stratum_target::threads_executing): New field. + (as_process_stratum_target): New. + * ravenscar-thread.c + (ravenscar_thread_target::update_inferior_ptid): Pass target down. + (ravenscar_thread_target::wait, ravenscar_add_thread): Pass target + down. + * record-btrace.c (record_btrace_target::info_record): Adjust. + (record_btrace_target::record_method) + (record_btrace_target::record_is_replaying) + (record_btrace_target::fetch_registers) + (get_thread_current_frame_id, record_btrace_target::resume) + (record_btrace_target::wait, record_btrace_target::stop): Pass + target down. + * record-full.c (record_full_wait_1): Switch to event thread. + Pass target down. + * regcache.c (regcache::regcache) + (get_thread_arch_aspace_regcache, get_thread_arch_regcache): Add + process_stratum_target parameter and handle it. + (current_thread_target): New global. + (get_thread_regcache): Add process_stratum_target parameter and + handle it. Switch inferior before calling target method. + (get_thread_regcache): Pass target down. + (get_thread_regcache_for_ptid): Pass target down. + (registers_changed_ptid): Add process_stratum_target parameter and + handle it. + (registers_changed_thread, registers_changed): Pass target down. + (test_get_thread_arch_aspace_regcache): New. + (current_regcache_test): Define a couple local test_target_ops + instances and use them for testing. + (readwrite_regcache): Pass process_stratum_target parameter. + (cooked_read_test, cooked_write_test): Pass mock_target down. + * regcache.h (get_thread_regcache, get_thread_arch_regcache) + (get_thread_arch_aspace_regcache): Add process_stratum_target + parameter. + (regcache::target): New method. + (regcache::regcache, regcache::get_thread_arch_aspace_regcache) + (regcache::registers_changed_ptid): Add process_stratum_target + parameter. + (regcache::m_target): New field. + (registers_changed_ptid): Add process_stratum_target parameter. + * remote.c (remote_state::supports_vCont_probed): New field. + (remote_target::async_wait_fd): New method. + (remote_unpush_and_throw): Add remote_target parameter. + (get_current_remote_target): Adjust. + (remote_target::remote_add_inferior): Push target. + (remote_target::remote_add_thread) + (remote_target::remote_notice_new_inferior) + (get_remote_thread_info): Pass target down. + (remote_target::update_thread_list): Skip threads of inferiors + bound to other targets. (remote_target::close): Don't discard + inferiors. (remote_target::add_current_inferior_and_thread) + (remote_target::process_initial_stop_replies) + (remote_target::start_remote) + (remote_target::remote_serial_quit_handler): Pass down target. + (remote_target::remote_unpush_target): New remote_target + parameter. Unpush the target from all inferiors. + (remote_target::remote_unpush_and_throw): New remote_target + parameter. Pass it down. + (remote_target::open_1): Check whether the current inferior has + execution instead of checking whether any inferior is live. Pass + target down. + (remote_target::remote_detach_1): Pass down target. Use + remote_unpush_target. + (extended_remote_target::attach): Pass down target. + (remote_target::remote_vcont_probe): Set supports_vCont_probed. + (remote_target::append_resumption): Pass down target. + (remote_target::append_pending_thread_resumptions) + (remote_target::remote_resume_with_hc, remote_target::resume) + (remote_target::commit_resume): Pass down target. + (remote_target::remote_stop_ns): Check supports_vCont_probed. + (remote_target::interrupt_query) + (remote_target::remove_new_fork_children) + (remote_target::check_pending_events_prevent_wildcard_vcont) + (remote_target::remote_parse_stop_reply) + (remote_target::process_stop_reply): Pass down target. + (first_remote_resumed_thread): New remote_target parameter. Pass + it down. + (remote_target::wait_as): Pass down target. + (unpush_and_perror): New remote_target parameter. Pass it down. + (remote_target::readchar, remote_target::remote_serial_write) + (remote_target::getpkt_or_notif_sane_1) + (remote_target::kill_new_fork_children, remote_target::kill): Pass + down target. + (remote_target::mourn_inferior): Pass down target. Use + remote_unpush_target. + (remote_target::core_of_thread) + (remote_target::remote_btrace_maybe_reopen): Pass down target. + (remote_target::pid_to_exec_file) + (remote_target::thread_handle_to_thread_info): Pass down target. + (remote_target::async_wait_fd): New. + * riscv-fbsd-tdep.c: Include "inferior.h". + (riscv_fbsd_get_thread_local_address): Pass down target. + * sol2-tdep.c (sol2_core_pid_to_str): Pass down target. + * sol-thread.c (sol_thread_target::wait, ps_lgetregs, ps_lsetregs) + (ps_lgetfpregs, ps_lsetfpregs, sol_update_thread_list_callback): + Adjust. + * solib-spu.c (spu_skip_standalone_loader): Pass down target. + * solib-svr4.c (enable_break): Pass down target. + * spu-multiarch.c (parse_spufs_run): Pass down target. + * spu-tdep.c (spu2ppu_sniffer): Pass down target. + * target-delegates.c: Regenerate. + * target.c (g_target_stack): Delete. + (current_top_target): Return the current inferior's top target. + (target_has_execution_1): Refer to the passed-in inferior's top + target. + (target_supports_terminal_ours): Check whether the initial + inferior was already created. + (decref_target): New. + (target_stack::push): Incref/decref the target. + (push_target, push_target, unpush_target): Adjust. + (target_stack::unpush): Defref target. + (target_is_pushed): Return bool. Adjust to refer to the current + inferior's target stack. + (dispose_inferior): Delete, and inline parts ... + (target_preopen): ... here. Only dispose of the current inferior. + (target_detach): Hold strong target reference while detaching. + Pass target down. + (target_thread_name): Add assertion. + (target_resume): Pass down target. + (target_ops::beneath, find_target_at): Adjust to refer to the + current inferior's target stack. + (get_dummy_target): New. + (target_pass_ctrlc): Pass the Ctrl-C to the first inferior that + has a thread running. + (initialize_targets): Rename to ... + (_initialize_target): ... this. + * target.h: Include "gdbsupport/refcounted-object.h". + (struct target_ops): Inherit refcounted_object. + (target_ops::shortname, target_ops::longname): Make const. + (target_ops::async_wait_fd): New method. + (decref_target): Declare. + (struct target_ops_ref_policy): New. + (target_ops_ref): New typedef. + (get_dummy_target): Declare function. + (target_is_pushed): Return bool. + * thread-iter.c (all_matching_threads_iterator::m_inf_matches) + (all_matching_threads_iterator::all_matching_threads_iterator): + Handle filter target. + * thread-iter.h (struct all_matching_threads_iterator, struct + all_matching_threads_range, class all_non_exited_threads_range): + Filter by target too. Remove explicit. + * thread.c (threads_executing): Delete. + (inferior_thread): Pass down current inferior. + (clear_thread_inferior_resources): Pass down thread pointer + instead of ptid_t. + (add_thread_silent, add_thread_with_info, add_thread): Add + process_stratum_target parameter. Use it for thread and inferior + searches. + (is_current_thread): New. + (thread_info::deletable): Use it. + (find_thread_ptid, thread_count, in_thread_list) + (thread_change_ptid, set_resumed, set_running): New + process_stratum_target parameter. Pass it down. + (set_executing): New process_stratum_target parameter. Pass it + down. Adjust reference to 'threads_executing'. + (threads_are_executing): New process_stratum_target parameter. + Adjust reference to 'threads_executing'. + (set_stop_requested, finish_thread_state): New + process_stratum_target parameter. Pass it down. + (switch_to_thread): Also match inferior. + (switch_to_thread): New process_stratum_target parameter. Pass it + down. + (update_threads_executing): Reimplement. + * top.c (quit_force): Pop targets from all inferior. + (gdb_init): Don't call initialize_targets. + * windows-nat.c (windows_nat_target) : + Declare. + (windows_add_thread, windows_delete_thread): Adjust. + (get_windows_debug_event): Rename to ... + (windows_nat_target::get_windows_debug_event): ... this. Adjust. + * tracefile-tfile.c (tfile_target_open): Pass down target. + * gdbsupport/common-gdbthread.h (struct process_stratum_target): + Forward declare. + (switch_to_thread): Add process_stratum_target parameter. + * mi/mi-interp.c (mi_on_resume_1): Add process_stratum_target + parameter. Use it. + (mi_on_resume): Pass target down. + * nat/fork-inferior.c (startup_inferior): Add + process_stratum_target parameter. Pass it down. + * nat/fork-inferior.h (startup_inferior): Add + process_stratum_target parameter. + * python/py-threadevent.c (py_get_event_thread): Pass target down. + +2020-01-10 Pedro Alves + + * remote.c (remote_target::start_remote): Don't set inferior_ptid + directly. Instead find the first thread in the thread list and + use switch_to_thread. + +2020-01-10 Pedro Alves + + * remote.c (remote_target::remote_add_inferior): Don't bind a + process to the current inferior if the current inferior is already + bound to a process. + +2020-01-10 Tankut Baris Aktemur + Pedro Alves + + * remote.c (remote_target::remote_parse_stop_reply) : + If no process is specified, return null_ptid instead of + inferior_ptid. + (remote_target::wait_as): Handle TARGET_WAITKIND_EXITED / + TARGET_WAITKIND_SIGNALLED with no pid. + +2020-01-10 Pedro Alves + + * remote.c (first_remote_resumed_thread): New. + (remote_target::wait_as): Use it as default event_ptid instead of + inferior_ptid. + +2020-01-10 Pedro Alves + + * infrun.c (handle_no_resumed): Use all_non_exited_inferiors. + +2020-01-10 Pedro Alves + + * tracefile-tfile.c (tfile_target::close): Assert that trace_fd is + not -1. + +2020-01-10 Pedro Alves + + * break-catch-sig.c (signal_catchpoint_print_it): Don't pass a + ptid to get_last_target_status. + * break-catch-syscall.c (print_it_catch_syscall): Don't pass a + ptid to get_last_target_status. + * infcmd.c (continue_command): Don't pass a target_waitstatus to + get_last_target_status. + (info_program_command): Don't pass a target_waitstatus to + get_last_target_status. + * infrun.c (init_wait_for_inferior): Use + nullify_last_target_wait_ptid. + (get_last_target_status): Handle nullptr arguments. + (nullify_last_target_wait_ptid): Clear target_last_waitstatus. + (print_stop_event): Don't pass a ptid to get_last_target_status. + (normal_stop): Don't pass a ptid to get_last_target_status. + * infrun.h (get_last_target_status, set_last_target_status): Move + comments here and update. + (nullify_last_target_wait_ptid): Declare. + * linux-fork.c (fork_load_infrun_state): Remove local extern + declaration of nullify_last_target_wait_ptid. + * linux-nat.c (get_detach_signal): Don't pass a target_waitstatus + to get_last_target_status. + +2020-01-10 Pedro Alves + + * gdbthread.h (scoped_restore_current_thread) + : Declare. + * thread.c (thread_alive): Add assertion. Return bool. + (switch_to_thread_if_alive): New. + (prune_threads): Switch inferior/thread. + (print_thread_info_1): Switch thread before calling target methods. + (scoped_restore_current_thread::restore): New, factored out from + ... + (scoped_restore_current_thread::~scoped_restore_current_thread): + ... this. + (scoped_restore_current_thread::scoped_restore_current_thread): + Add assertion. + (thread_apply_all_command, thread_select): Use + switch_to_thread_if_alive. + * infrun.c (proceed, restart_threads, handle_signal_stop) + (switch_back_to_stepped_thread): Switch current thread before + calling target methods. + +2020-01-10 Pedro Alves + + * inferior.c (switch_to_inferior_no_thread): New function, + factored out from ... + (inferior_command): ... here. + * inferior.h (switch_to_inferior_no_thread): Declare. + * mi/mi-main.c (run_one_inferior): Use + switch_to_inferior_no_thread. + +2020-01-10 Pedro Alves + + * infcmd.c (kill_command): Remove dead code. + +2020-01-10 Pedro Alves + + * remote.c (remote_target::mourn_inferior): No longer check + whether the target is running. + +2020-01-10 Pedro Alves + + * corelow.c (core_target::has_execution): Change parameter type to + inferior pointer. + * inferior.c (number_of_live_inferiors): Use + inferior::has_execution instead of target_has_execution_1. + * inferior.h (inferior::has_execution): New. + * linux-thread-db.c (thread_db_target::update_thread_list): Use + inferior::has_execution instead of target_has_execution_1. + * process-stratum-target.c + (process_stratum_target::has_execution): Change parameter type to + inferior pointer. Check the inferior's PID instead of + inferior_ptid. + * process-stratum-target.h + (process_stratum_target::has_execution): Change parameter type to + inferior pointer. + * record-full.c (record_full_core_target::has_execution): Change + parameter type to inferior pointer. + * target.c (target_has_execution_1): Change parameter type to + inferior pointer. + (target_has_execution_current): Adjust. + * target.h (target_ops::has_execution): Change parameter type to + inferior pointer. + (target_has_execution_1): Change parameter type to inferior + pointer. Change return type to bool. + * tracefile.h (tracefile_target::has_execution): Change parameter + type to inferior pointer. + +2020-01-10 Pedro Alves + + * exceptions.c (print_flush): Remove current_top_target() check. + +2020-01-10 Pedro Alves + + * remote.c (show_remote_exec_file): Show the current inferior's + exec-file instead of the command variable's value. + +2020-01-10 Pedro Alves + + * record-full.c (record_full_resume_ptid): New global. + (record_full_target::resume): Set it. + (record_full_wait_1): Use record_full_resume_ptid instead of + inferior_ptid. + +2020-01-10 Pedro Alves + + * gdbthread.h (scoped_restore_current_thread) + : Declare. + * thread.c (thread_alive): Add assertion. Return bool. + (switch_to_thread_if_alive): New. + (prune_threads): Switch inferior/thread. + (print_thread_info_1): Switch thread before calling target methods. + (scoped_restore_current_thread::restore): New, factored out from + ... + (scoped_restore_current_thread::~scoped_restore_current_thread): + ... this. + (scoped_restore_current_thread::scoped_restore_current_thread): + Add assertion. + (thread_apply_all_command, thread_select): Use + switch_to_thread_if_alive. + +2020-01-10 George Barrett + + * stap-probe.c (stap_modify_semaphore): Don't check for null + semaphores. + (stap_probe::set_semaphore, stap_probe::clear_semaphore): Check + for null semaphores. + 2020-01-09 Andrew Burgess * tui/tui-source.c (tui_source_window::do_scroll_vertical): Update