[Lldb-commits] [PATCH] D91241: [LLDB] Make offset field optional in RegisterInfo packet for Arm64

Muhammad Omair Javaid via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Nov 17 01:02:47 PST 2020


omjavaid updated this revision to Diff 305680.
omjavaid added a comment.

This update tries to fix concerns raised by removing AArch64 specific code and makes offset assignment more generic.

We now have a new flag which is set to true if offset field was present and on basis of that we assign offsets to Primary and Pseudo registers.

If offset is not specified for a primary register then its offset is equal to last_register_offset + last_register_size. This is what LLDB was doing already we just restrict this scheme to primary registers only.

If offset is not specified for a pseudo register then fall-back offset is same as the offset of its first value_reg in value_regs list.

For assigning offsets to pseudo registers all primary registers should have valid offsets. Primary registers  are assigned offsets in ParseRegisters and ProcessGDBRemote::BuildDynamicRegisterInfo while pseudo register offsets are update once their value_regs are known in DynamicRegisterInfo::Finalize


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91241/new/

https://reviews.llvm.org/D91241

Files:
  lldb/include/lldb/Host/common/NativeRegisterContext.h
  lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
  lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
  lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
  lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
  lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
  lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
  lldb/unittests/tools/lldb-server/tests/MessageObjects.cpp
  lldb/unittests/tools/lldb-server/tests/TestClient.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D91241.305680.patch
Type: text/x-patch
Size: 10484 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20201117/fc43bd80/attachment-0001.bin>


More information about the lldb-commits mailing list