
For the platform and extension doc. Also add links in the extension doc to the GDB specs we're extending.
2.7 KiB
2.7 KiB
LLDB Platform Packets
This is a list of the packets that an lldb platform server needs to implement for the lldb testsuite to be run on a remote target device/system.
These are almost all lldb extensions to the gdb-remote serial
protocol. Many of the vFile:
packets are also described in the "Host
I/O Packets" detailed in the gdb-remote protocol documentation,
although the lldb platform extensions include packets that are not
defined there (vFile:size:
, vFile:mode:
, vFile:symlink
, vFile:chmod:
).
Most importantly, the flags that LLDB passes to vFile:open:
are
incompatible with the flags that GDB specifies.
- QSetWorkingDir
- QStartNoAckMode
- qGetWorkingDir
- qHostInfo
- qKillSpawnedProcess
- qLaunchGDBServer
- qModuleInfo
- qPathComplete
- qPlatform_mkdir
- qPlatform_shell
- qProcessInfo
- The lldb test suite currently only uses
name_match:equals
and the no-criteria mode to list every process.
- The lldb test suite currently only uses
- qProcessInfoPID
- It is likely that you only need to support the
pid
andname
fields.
- It is likely that you only need to support the
- vFile:chmod
- vFile:close
- vFile:mode
- vFile:open
- vFile:pread
- vFile:pwrite
- vFile:size
- vFile:symlink
- vFile:unlink
The remote platform must be able to launch processes so that debugserver can attach to them. This requires the following packets in addition to the previous list: