Refer to http://lists.llvm.org/pipermail/lldb-dev/2015-August/008024.html for discussion on this topic.
Bare-iron target like YAMON gdb-stub does not support qProcessInfo, qC, qfThreadInfo, Hg and Hc packets. Reply from ‘?’ packet is as simple as ‘S05’. There is no packet which gives us process or threads information. In such cases, assume pid=tid=1.
The problem behind the failures seems to be this: when we connect to the remote lldb-server, it should not have any processes or threads running (we will start those with the A packet later). We verify this in ProcessGDBRemote.cpp:837. This translates to a qfThreadInfo packet, to which our stub responds with OK.
This sounds like a bug in the stub, as the protocol does not mention that as a possibility. I will prepare a patch for that shortly. Could you please wait with this patch a bit until the bugfix lands?
Also, this got me thinking.. What is the response of your stub to the qfThreadInfo packet. If it is something like '?', then we could check for response.IsUnsupportedResponse() and we will avoid an overly broad check for your corner case. What do you think?