[lldb-dev] gdb-remote command broken in TOT
Matthew Gardiner
mg11 at csr.com
Tue May 13 00:50:12 PDT 2014
Todd Fiala wrote:
> This is a change I made.
>
> qC is supposed to return the thread id, not the process id.
>
> qProcessInfo is being used now to collect the process id. We added a
> fallback so that if the process info request fails, on Apple/iOS we
> fall back to the older qC (which, as indicated before, used to return
> the process id erroneously, see the gdb remote documentation).
After doing a bit more analysis, I see that you added a fallback such
that if the process info request fails, we fall back to traditional
gdbserver qC. This is completely reasonable, and permits our custom
stubs to support qProcessInfo.
However is there any real need to restrict the fallback case to just
Apple/iOS? that is:
const llvm::Triple &triple = GetProcessArchitecture().GetTriple();
if ((triple.getVendor() == llvm::Triple::Apple) &&
(triple.getOS() == llvm::Triple::IOS))
{
Surely, all stubs which fail to implement qProcessInfo should be
permitted to fallback to qC?
I've just commented out the above "if" in my working copy, and now the
initial "gdb-remote host:port" works again - in so far as the current
inferior process number is reported rather than 0. (Admittedly other
things don't quite work as desired later on in the debug-session, e.g.
"next". But presumably an Apple/iOS stub would either fail similarly, or
work as expected due to some localised conditional treatment, (i.e. "if
apple then...")).
So, to continue to interoperate with traditional gdbserver
implementations can we let all older stubs continue to fallback to qC?
thanks
Matt
Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
More information can be found at www.csr.com. Keep up to date with CSR on our technical blog, www.csr.com/blog, CSR people blog, www.csr.com/people, YouTube, www.youtube.com/user/CSRplc, Facebook, www.facebook.com/pages/CSR/191038434253534, or follow us on Twitter at www.twitter.com/CSR_plc.
New for 2014, you can now access the wide range of products powered by aptX at www.aptx.com.
More information about the lldb-dev
mailing list