[Lldb-commits] [PATCH] D103626: [lldb][AArch64] Remove non address bits from memory read arguments
David Spickett via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Jun 3 09:09:24 PDT 2021
DavidSpickett created this revision.
Herald added subscribers: danielkiss, kristof.beyls.
DavidSpickett requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
Addresses on AArch64 can have top byte tags, memory tags and pointer
authentication signatures in the upper bits.
While testing memory tagging I found that memory read couldn't
read a range if the two addresses had different tags. The same
could apply to signed pointers given the right circumstance.
(lldb) memory read mte_buf_alt_tag mte_buf+16
error: end address (0x900fffff7ff8010) must be greater than the start
address (0xa00fffff7ff8000).
Or it would try to read a lot more memory than expected.
(lldb) memory read mte_buf mte_buf_alt_tag+16
error: Normally, 'memory read' will not read over 1024 bytes of data.
error: Please use --force to override this restriction just once.
error: or set target.max-memory-read-size if you will often need a
larger limit.
Fix this by removing non address bits before we calculate the read
range.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D103626
Files:
lldb/source/Commands/CommandObjectMemory.cpp
lldb/test/API/linux/aarch64/tagged_memory_read/Makefile
lldb/test/API/linux/aarch64/tagged_memory_read/TestAArch64LinuxTaggedMemoryRead.py
lldb/test/API/linux/aarch64/tagged_memory_read/main.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D103626.349578.patch
Type: text/x-patch
Size: 4238 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210603/0c729bdb/attachment-0001.bin>
More information about the lldb-commits
mailing list