[Lldb-commits] [PATCH] D97281: [lldb][AArch64] Add class for managing memory tags

David Spickett via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Apr 7 08:45:04 PDT 2021


DavidSpickett added a comment.

@labath Could you comment on the overall strategy that I'm going for?

I'll summarise my intention, the rest of the review stack here implements that if you have time/want to dig into the details.

- Tag managers provide utilities to handle tags without knowing the details of each tagging scheme
- lldb commands can get one by asking the current process, which looks for an architecture plugin, which can then provide a tag manager or not
- lldb uses the "mt" flag of memory regions to precheck reads before sending them
- lldb-server will ask the native register context for a manager, which can provide one or not based on the target and what it's being asked to do

It would be great to get agreement on those key points since it forms the basis of the new commands.

FWIW I have implemented "memory tag write" based on this and it works quite well, but I can put that up too if you feel the context would help. (another 4/5 patches)

@omjavaid The tag manager AddressDiff is currently removing the whole top byte. I think eventually we'll want to go back to removing just the tag bits and let your non address bits handle the rest but for now it's working ok.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D97281



More information about the lldb-commits mailing list