The comments in File.h say: // NB this enum is used in the lldb platform gdb-remote packet // vFile:open: and existing values cannot be modified. enum OpenOptions { eOpenOptionRead = (1u << 0), // Open file for reading eOpenOptionWrite = (1u << 1), // Open file for writing eOpenOptionAppend = (1u << 2), // Don't truncate file when opening, append to end of file
And In GDBRemoteCommunicationServerCommon.cpp it says: uint32_t flags = packet.GetHexMaxU32(false, 0); if (packet.GetChar() == ',') { mode_t mode = packet.GetHexMaxU32(false, 0600); FileSpec path_spec(path); FileSystem::Instance().Resolve(path_spec); // Do not close fd. auto file = FileSystem::Instance().Open(path_spec, flags, mode, false); But in the GDB documentation it says: @node Open Flags @unnumberedsubsubsec Open Flags @cindex open flags, in file-i/o protocol All values are given in hexadecimal representation. @smallexample O_RDONLY 0x0 O_WRONLY 0x1 O_RDWR 0x2 O_APPEND 0x8 O_CREAT 0x200 O_TRUNC 0x400 O_EXCL 0x800 @end smallexample Does vFile:Open actually work? Are there any tests that cover it?
_______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev