mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
2013-01-14 Richard Sharman <richard_sharman@mitel.com>
Pedro Alves <palves@redhat.com> PR remote/14786 * remote.c (remote_threads_info): Make a copy of the reply from qfThreadInfo and use that instead of rs->buf.
This commit is contained in:
parent
0d705e9f94
commit
44d594fd82
@ -1,3 +1,11 @@
|
||||
2013-01-14 Richard Sharman <richard_sharman@mitel.com>
|
||||
Pedro Alves <palves@redhat.com>
|
||||
|
||||
PR remote/14786
|
||||
|
||||
* remote.c (remote_threads_info): Make a copy of the reply from
|
||||
qfThreadInfo and use that instead of rs->buf.
|
||||
|
||||
2013-01-14 Yao Qi <yao@codesourcery.com>
|
||||
|
||||
* dbxread.c (dbx_psymtab_to_symtab_1): Don't check PST is NULL.
|
||||
|
13
gdb/remote.c
13
gdb/remote.c
@ -2759,6 +2759,15 @@ remote_threads_info (struct target_ops *ops)
|
||||
bufp = rs->buf;
|
||||
if (bufp[0] != '\0') /* q packet recognized */
|
||||
{
|
||||
struct cleanup *old_chain;
|
||||
char *saved_reply;
|
||||
|
||||
/* remote_notice_new_inferior (in the loop below) may make
|
||||
new RSP calls, which clobber rs->buf. Work with a
|
||||
copy. */
|
||||
bufp = saved_reply = xstrdup (rs->buf);
|
||||
old_chain = make_cleanup (free_current_contents, &saved_reply);
|
||||
|
||||
while (*bufp++ == 'm') /* reply contains one or more TID */
|
||||
{
|
||||
do
|
||||
@ -2776,10 +2785,12 @@ remote_threads_info (struct target_ops *ops)
|
||||
}
|
||||
}
|
||||
while (*bufp++ == ','); /* comma-separated list */
|
||||
free_current_contents (&saved_reply);
|
||||
putpkt ("qsThreadInfo");
|
||||
getpkt (&rs->buf, &rs->buf_size, 0);
|
||||
bufp = rs->buf;
|
||||
bufp = saved_reply = xstrdup (rs->buf);
|
||||
}
|
||||
do_cleanups (old_chain);
|
||||
return; /* done */
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user