diff options
author | Pedro Alves <palves@redhat.com> | 2018-06-25 17:42:22 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2018-06-25 17:42:22 +0100 |
commit | b7a08269ca53323c5fe190370da281358dfee6b2 (patch) | |
tree | d16e07de6fdf1f4f8e51bd8c63643648bb7a1832 /gdb/fbsd-nat.c | |
parent | 1021d1cb1214771711c61117ba0923c73a3ff431 (diff) | |
download | gdb-b7a08269ca53323c5fe190370da281358dfee6b2.zip gdb-b7a08269ca53323c5fe190370da281358dfee6b2.tar.gz gdb-b7a08269ca53323c5fe190370da281358dfee6b2.tar.bz2 |
gdb: Fix build on several hosts/ports
Commit 00431a78b28f ("Use thread_info and inferior pointers more
throughout") missed updating some callers, like e.g.,:
gdb/remote-sim.c: In member function 'virtual void gdbsim_target::mourn_inferior()':
gdb/remote-sim.c:1198:50: error: cannot convert 'ptid_t' to 'thread_info*' for argument '1' to 'void delete_thread_silent(thread_info*)'
delete_thread_silent (sim_data->remote_sim_ptid);
gdb/mygit/src/gdb/procfs.c: In member function ‘virtual void procfs_target::detach(inferior*, int)’:
gdb/mygit/src/gdb/procfs.c:1931:23: error: invalid conversion from ‘int’ to ‘inferior*’ [-fpermissive]
detach_inferior (pid);
^
In file included from gdb/mygit/src/gdb/procfs.c:24:0:
gdb/mygit/src/gdb/inferior.h:476:13: note: initializing argument 1 of ‘void detach_inferior(inferior*)’
etc.
This fixes it.
The delete_thread_silent calls in both go32-nat.c and remote-sim.c are
unnecessary because generic_mourn_inferior calls exit_inferior, which
deletes the inferior's threads.
gdb/ChangeLog:
2018-06-25 Pedro Alves <palves@redhat.com>
* windows-nat.c (windows_delete_thread): Use find_thread_ptid and
pass thread_info pointer to delete_thread.
(windows_nat_target::detach): Pass inferior pointer to
detach_inferior.
* aix-thread.c (sync_threadlists): Pass thread_info pointer to
delete_thread.
* bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
* darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
and pass a thread_info pointer to delete_thread.
* fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
pass thread_info pointer to delete_thread.
* go32-nat.c (go32_nat_target::mourn_inferior): Remove
delete_thread_silent call.
* procfs.c (procfs_target::detach): Pass inferior pointer to
detach_inferior.
(procfs_target::wait): Pass thread_info pointer to delete_thread.
* remote-sim.c (gdbsim_target::mourn_inferior): Remove
delete_thread_silent call.
* windows-nat.c (windows_delete_thread): Use find_thread_ptid and
pass thread_info pointer to delete_thread.
(windows_nat_target::detach): Pass inferior pointer to
delete_inferior.
Diffstat (limited to 'gdb/fbsd-nat.c')
-rw-r--r-- | gdb/fbsd-nat.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/fbsd-nat.c b/gdb/fbsd-nat.c index 069e1e4..f9c622c 100644 --- a/gdb/fbsd-nat.c +++ b/gdb/fbsd-nat.c @@ -1274,7 +1274,8 @@ fbsd_nat_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus, threads might be skipped during post_attach that have not yet reported their PL_FLAG_EXITED event. Ignore EXITED events for an unknown LWP. */ - if (in_thread_list (wptid)) + thread_info *thr = find_thread_ptid (wptid); + if (thr != nullptr) { if (debug_fbsd_lwp) fprintf_unfiltered (gdb_stdlog, @@ -1283,7 +1284,7 @@ fbsd_nat_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus, if (print_thread_events) printf_unfiltered (_("[%s exited]\n"), target_pid_to_str (wptid)); - delete_thread (wptid); + delete_thread (thr); } if (ptrace (PT_CONTINUE, pid, (caddr_t) 1, 0) == -1) perror_with_name (("ptrace")); |