[Lldb-commits] [PATCH] D77043: Fix process gdb-remote usage of value_regs/invalidate_regs

Muhammad Omair Javaid via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Apr 2 02:08:46 PDT 2020

omjavaid added a comment.

In D77043#1954672 <https://reviews.llvm.org/D77043#1954672>, @labath wrote:

> I am still thinking this over, but for now I have two comments. First, could you re-upload the diff with full context (e.g. `git show -U9999`). That would make it a lot easier to review this.
>  Second, would it be possible to change the meaning of the `invalidate_regs` and `value_regs` lists so that they do the right thing even in your case (instead of introducing a new number)? We already have too many numbering schemes to begin with, and introducing a new one is definitely something I'd like to avoid (in particular when the number is stored as `eRegisterKindLLDB` on the server side, but then becomes `eRegisterKindProcessPlugin` on the other end).

There has to be a unique register no for each register in a particular architecture and that can be single register no (eRegisterKindLLDB for both server and host) if we somehow stop the use of index in register info packet. Right now register info packet iterates over an index to get next register info and uses that as LLDB register no which is in theory wrong. We need to assign every register in a particular architecture a unique LLDB specific number and exchange that in register info or target xml packets. Right now if we change the order of iteration over register set or skip one of the register sets the register nos exchanged over target xml will also change. Thats why i felt the need for this patch and thought it would be the most backward compatible solution available without disturbing any existing functionality specially when various other architectures also depend on this.




More information about the lldb-commits mailing list