[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