[Lldb-commits] [PATCH] D107840: [lldb] [gdb-server] Implement the	vFile:fstat packet
    Pavel Labath via Phabricator via lldb-commits 
    lldb-commits at lists.llvm.org
       
    Fri Sep 10 00:46:16 PDT 2021
    
    
  
labath accepted this revision.
labath added inline comments.
================
Comment at: lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp:763
+template <typename T, typename U>
+void fill_clamp(T &dest, U src, typename T::value_type fallback) {
+  dest = dest <= std::numeric_limits<typename T::value_type>::max() ? src
----------------
static void
================
Comment at: lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp:764
+void fill_clamp(T &dest, U src, typename T::value_type fallback) {
+  dest = dest <= std::numeric_limits<typename T::value_type>::max() ? src
+                                                                    : fallback;
----------------
`src <=`
================
Comment at: lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp:776
+
+  std::array<char, 64> data;
+  DataEncoder encoder{data.data(), data.size(), lldb::eByteOrderBig,
----------------
mgorny wrote:
> labath wrote:
> > consider:
> > ```
> > struct GdbStat {
> >   llvm::support::ubig32_t st_dev;
> >   llvm::support::ubig32_t st_ino;
> >   ...
> > };
> > 
> > ...
> > 
> > translate(gdb_stats.st_dev, file_stats.st_dev, 0); // I'm not sure that this clamping is really necessary.
> > ...
> > ```
> > 
> > Seems like it could be nicer, particularly as the vFile_Stat function will need to do the same thing...
> What's this `translate()` thing? I don't see anything matching in LLVM or LLDB. Or are you saying I should define a helper function?
> 
> As for clamping, I think it's better if we send 0 (a "clearly invalid value") than e.g. truncated `st_dev` that would be simply wrong.
Yeah, that was a new helper function.
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D107840/new/
https://reviews.llvm.org/D107840
    
    
More information about the lldb-commits
mailing list