[lldb][AArch64] Fix corefile memory reads when there are non-address bits
authorDavid Spickett <david.spickett@linaro.org>
Mon, 4 Apr 2022 13:42:24 +0000 (14:42 +0100)
committerDavid Spickett <david.spickett@linaro.org>
Wed, 18 May 2022 13:13:42 +0000 (14:13 +0100)
commit00a12585933ef63ff1204bf5cd265f0071d04642
tree59bbc3573f52652a2eb6271eb21960edcba56e56
parent128da94d38242c28e6bf23ad025e0cb2d6ce9e4f
[lldb][AArch64] Fix corefile memory reads when there are non-address bits

Previously if you read a code/data mask before there was a valid thread
you would get the top byte mask. This meant the value was "valid" as in,
don't read it again.

When using a corefile we ask for the data mask very early on and this
meant that later once you did have a thread it wouldn't read the
register to get the rest of the mask.

This fixes that and adds a corefile test generated from the same program
as in my previous change on this theme.

Depends on D118794

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D122411
lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
lldb/test/API/linux/aarch64/non_address_bit_memory_access/TestAArch64LinuxNonAddressBitMemoryAccess.py
lldb/test/API/linux/aarch64/non_address_bit_memory_access/corefile [new file with mode: 0644]
lldb/test/API/linux/aarch64/non_address_bit_memory_access/main.c