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:equalsand 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
pidandnamefields.
- 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: