This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Don't warn if target reports no threads


On Tuesday, October 19, 2010 19:01:25 Pedro Alves wrote:
> On Tuesday 19 October 2010 15:52:03, Vladimir Prus wrote:
> > In the case when stub refuses to understand all modern thread-listing
> > packets, GDB falls back to qL packet, if if stub refuses to handle that
> > either,
> > 
> > reports:
> > 	RMT ERROR : failed to get remote thread list.
> > 
> > The further operation continues normally, and qL is really optional
> > packet, so there's no point scaring a user like that. Is the patch below
> > OK?
> 
> remote_get_threadlist has this:
> 
>   getpkt (&rs->buf, &rs->buf_size, 0);
> 
>   if (*rs->buf == '\0')
>     *result_count = 0;
>   else
>   ...
> 
> would it work to just make that:
> 
>   if (*rs->buf == '\0')
>     return 0;
> 
> instead?  That'd be easier to read, and leave the warning if
> something did go bust with the thread listing for targets
> that do support the packet (not sure there are any though).

This appears to work just fine. I've checked in the below patch.

- Volodya
Index: ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/ChangeLog,v
retrieving revision 1.12274
diff -u -p -r1.12274 ChangeLog
--- ChangeLog	19 Oct 2010 21:30:53 -0000	1.12274
+++ ChangeLog	20 Oct 2010 09:10:22 -0000
@@ -1,3 +1,9 @@
+2010-10-20  Vladimir Prus  <vladimir@codesourcery.com>
+
+	* remote.c (remote_get_threadlist): If we got empty
+	response, bail out immediately, and don't emit any
+	warnings.
+
 2010-10-19  Ulrich Weigand  <uweigand@de.ibm.com>
 
 	* arm-tdep.c (thumb_get_next_pc_raw): Handle Thumb-16 encoding
Index: remote.c
===================================================================
RCS file: /cvs/src/src/gdb/remote.c,v
retrieving revision 1.422
diff -u -p -r1.422 remote.c
--- remote.c	17 Oct 2010 18:24:47 -0000	1.422
+++ remote.c	20 Oct 2010 09:10:23 -0000
@@ -2353,7 +2353,7 @@ remote_get_threadlist (int startflag, th
   getpkt (&rs->buf, &rs->buf_size, 0);
 
   if (*rs->buf == '\0')
-    *result_count = 0;
+    return 0;
   else
     *result_count =
       parse_threadlist_response (rs->buf + 2, result_limit, &echo_nextthread,

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]