[Lldb-commits] [lldb] [lldb] Add QSupported key to report watchpoint types supported (PR #80376)
Jason Molenda via lldb-commits
lldb-commits at lists.llvm.org
Fri Feb 2 11:06:16 PST 2024
================
@@ -38,7 +38,44 @@ read packet: +
read packet: $OK#9a
send packet: +
+//----------------------------------------------------------------------
+// "QSupported"
+//
+// BRIEF
+// Query the GDB remote server for features it supports
+//
+// PRIORITY TO IMPLEMENT
+// Optional.
+//----------------------------------------------------------------------
+QSupported is a standard GDB Remote Serial Protocol packet, but
+there are several additions to the response that lldb can parse.
+An example exchange:
+
+send packet: qSupported:xmlRegisters=i386,arm,mips,arc;multiprocess+;fork-events+;vfork-events+
+
+read packet: qXfer:features:read+;PacketSize=20000;qEcho+;native-signals+;SupportedCompressions=lzfse,zlib-deflate,lz4,lzma;SupportedWatchpointTypes =aarch64-mask,aarch64-bas;
+
+In this example, three lldb extensions are reported:
+ PacketSize=20000
+ The base16 maximum packet size that the GDB Remote Serial stub
----------------
jasonmolenda wrote:
I could say "the hex maximum packet size", I suppose, is that clearer? One of the annoying things (IMO) about gdb remote serial protocol is that many numbers are hex numbers without a 0x prefix, but sometimes (probably mistakes) they're base 10. So if you see a number like "2000" in a log file, you don't know what that number is.
The naming in this text file is a bit all over the place. The protocol is called "gdb remote serial protocol". The opposite side from lldb, debugserver or lldb-server, is called the stub. Some places call it the "gdb RSP stub", some just say "stub".
https://github.com/llvm/llvm-project/pull/80376
More information about the lldb-commits
mailing list