From c14a6ae4a76ff54e01529878c7b4311df30f7fc7 Mon Sep 17 00:00:00 2001 From: Jason Molenda Date: Sun, 16 Dec 2018 18:44:54 +0000 Subject: [PATCH] Add a description of the similar packets defined in the gdb-remote serial protocol documentation, call out the incompatability of lldb's vFile:open: packet as it stands today. Need to think about whether to change lldb's enum values (breaking any existing lldb-server's out there) or create a different packet and abandon vFile:open: at least for a while. llvm-svn: 349316 --- lldb/docs/lldb-platform-packets.txt | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/lldb/docs/lldb-platform-packets.txt b/lldb/docs/lldb-platform-packets.txt index 18a37a5..3258e4c 100644 --- a/lldb/docs/lldb-platform-packets.txt +++ b/lldb/docs/lldb-platform-packets.txt @@ -1,5 +1,15 @@ -Here is a brief overview of the packets that an lldb platform server needs to implement -for the lldb testsuite to be run on a remote target device/system. +Here is a brief overview 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 described to 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. + //---------------------------------------------------------------------- // QStartNoAckMode @@ -311,7 +321,12 @@ for the lldb testsuite to be run on a remote target device/system. // // response is F followed by the opened file descriptor in base 10. // "F-1,errno" with the errno if an error occurs. - +// +// COMPATABILITY +// The gdb-remote serial protocol documentatio defines a vFile:open: +// packet which uses incompatible flag values, e.g. 1 means O_WRONLY +// in gdb's vFile:open:, but it means eOpenOptionRead to lldb's +// implementation. //---------------------------------------------------------------------- // vFile:close: -- 2.7.4