summaryrefslogtreecommitdiff
path: root/gdb/gdbserver/gdbthread.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2015-11-30 16:05:15 +0000
committerPedro Alves <palves@redhat.com>2015-11-30 18:37:25 +0000
commit34c6591498f4363ef2c71d683cdaaa33d6a6ad64 (patch)
tree92e113842ee8c135ad264294d8b0852a28f5d280 /gdb/gdbserver/gdbthread.h
parent066f6b6edcb63b363cc9a95c3727b996d1895549 (diff)
downloadbinutils-gdb-34c6591498f4363ef2c71d683cdaaa33d6a6ad64.tar.gz
gdbserver crash running gdb.threads/non-ldr-exc-1.exp
This fixes a gdbserver crash when running gdb.threads/non-ldr-exc-1.exp with "maint set target-non-stop on". The problem is that qSymbol is called when gdbserver has current_thread == NULL. gdb/gdbserver/ChangeLog: 2015-11-30 Pedro Alves <palves@redhat.com> * gdbthread.h (find_any_thread_of_pid): Declare. * inferiors.c (thread_of_pid, find_any_thread_of_pid): New functions. * server.c (handle_query): If current_thread is NULL, look for another thread of the selected process.
Diffstat (limited to 'gdb/gdbserver/gdbthread.h')
-rw-r--r--gdb/gdbserver/gdbthread.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/gdbserver/gdbthread.h b/gdb/gdbserver/gdbthread.h
index d6959f46e60..05104194856 100644
--- a/gdb/gdbserver/gdbthread.h
+++ b/gdb/gdbserver/gdbthread.h
@@ -80,6 +80,10 @@ struct thread_info *get_first_thread (void);
struct thread_info *find_thread_ptid (ptid_t ptid);
+/* Find any thread of the PID process. Returns NULL if none is
+ found. */
+struct thread_info *find_any_thread_of_pid (int pid);
+
/* Get current thread ID (Linux task ID). */
#define current_ptid (current_thread->entry.id)