================
@@ -274,23 +295,31 @@ bool GDBRemoteRegisterContext::ReadRegisterBytes(const 
RegisterInfo *reg_info) {
           success = false;
         else {
           // Read the containing register if it hasn't already been read
-          if (!GetRegisterIsValid(prim_reg))
+          if (GetRegisterIsUnfetched(prim_reg))
             success = GetPrimordialRegister(prim_reg_info, gdb_comm);
----------------
jasonmolenda wrote:

and just to be clear, when the expedited registers name a register with 
explicitly no bytes, this PR (to accomplish anything) must mark that register 
as Unavailable and not allow the user (or more importantly, lldb) to try to 
refetch it.  It will fail when lldb tries to get it again, and the extra packet 
traffic is the whole point of this work.

If we can agree on what the behavior in the other cases - a failed register 
read, a partial-data register read - then the rest is implementation.  Jonas is 
pointing out that the implementation today is inconsistent, and he's right.

https://github.com/llvm/llvm-project/pull/193894
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to