This is an archive of the discontinued LLVM Phabricator instance.

[lldb] Rename MemoryTagManager RemoveNonAddressBits to RemoveTagBits
ClosedPublic

Authored by DavidSpickett on Jan 19 2022, 6:13 AM.

Details

Summary

This better describes the intent of the method. Which for AArch64
is removing the top byte which includes the memory tags.

It does not include pointer signatures, for those we need to use
the ABI plugin. The rename makes this a little more clear.

It's a bit awkward that the memory tag manager is removing the whole
top byte not just the memory tags but it's an improvement for now.

Diff Detail

Event Timeline

DavidSpickett created this revision.Jan 19 2022, 6:13 AM
DavidSpickett requested review of this revision.Jan 19 2022, 6:13 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 19 2022, 6:13 AM

As promised on https://reviews.llvm.org/D112824.

I hope to get to a point where the tag managers only remove memory tag bits so this is a step toward that.

lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
1370

The usage in lldb-server is why I have kept it removing the whole top byte to keep us in line with: https://dri.freedesktop.org/docs/drm/arm64/tagged-address-abi.html

You might wonder if we should remove non-address bits here too but going by that standard I think the answer is no.

omjavaid accepted this revision.Jan 19 2022, 4:37 PM
This revision is now accepted and ready to land.Jan 19 2022, 4:37 PM