aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver/gdbthread.h
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2016-07-21 12:12:18 +0100
committerYao Qi <yao.qi@linaro.org>2016-07-21 12:12:18 +0100
commit984a2c042e82f2306183d9d165c5cb99e4341503 (patch)
tree161f243913c0be7949b06b3a8b59cd0e11745c57 /gdb/gdbserver/gdbthread.h
parentbec903c96bc5119e357b4ad2cab99bbee7de628e (diff)
downloadbinutils-984a2c042e82f2306183d9d165c5cb99e4341503.zip
binutils-984a2c042e82f2306183d9d165c5cb99e4341503.tar.gz
binutils-984a2c042e82f2306183d9d165c5cb99e4341503.tar.bz2
Switch current_thread to lwp's thread in install_software_single_step_breakpoints
install_software_single_step_breakpoints has parameter lwp, but still need to switch to current_thread. In order to simplify its caller, we do the current_thread save/restore inside install_software_single_step_breakpoints. gdb/gdbserver: 2016-07-21 Yao Qi <yao.qi@linaro.org> * gdbthread.h (make_cleanup_restore_current_thread): Declare. * inferiors.c (do_restore_current_thread_cleanup): New function. (make_cleanup_restore_current_thread): Likewise. * linux-low.c (install_software_single_step_breakpoints): Call make_cleanup_restore_current_thread. Switch current_thread to thread.
Diffstat (limited to 'gdb/gdbserver/gdbthread.h')
-rw-r--r--gdb/gdbserver/gdbthread.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/gdbserver/gdbthread.h b/gdb/gdbserver/gdbthread.h
index 4dcb1b7..d2326fb 100644
--- a/gdb/gdbserver/gdbthread.h
+++ b/gdb/gdbserver/gdbthread.h
@@ -87,4 +87,7 @@ struct thread_info *find_any_thread_of_pid (int pid);
/* Get current thread ID (Linux task ID). */
#define current_ptid (current_thread->entry.id)
+/* Create a cleanup to restore current_thread. */
+struct cleanup *make_cleanup_restore_current_thread (void);
+
#endif /* GDB_THREAD_H */