Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[lldb] Remove non-address bits from addresses given to memory tag com…
…mands Although the memory tag commands use a memory tag manager to handle addresses, that only removes the top byte. That top byte is 4 bits of memory tag and 4 free bits, which is more than it should strictly remove but that's how it is for now. There are other non-address bit uses like pointer authentication. To ensure the memory tag manager only has to deal with memory tags, use the ABI plugin to remove the rest. The tag access test has been updated to sign all the relevant pointers and require that we're running on a system with pointer authentication in addition to memory tagging. The pointers will look like: <4 bit user tag><4 bit memory tag><signature><bit virtual address> Note that there is currently no API for reading memory tags. It will also have to consider this when it arrives. Reviewed By: omjavaid Differential Revision: https://reviews.llvm.org/D117672
- Loading branch information
1 parent
585abe3
commit 787f91b
Showing
3 changed files
with
39 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters