jasonmolenda added a comment. In D98529#2631876 <https://reviews.llvm.org/D98529#2631876>, @amccarth wrote:
> Before reading Jason's response, I was independently wondering whether it > makes sense to temporarily introduce a variable to let the user set the mask, > just until the workaround is replaced with final code. Given that there's > precedent, I would support that. (I've not implemented one of these LLDB > settings before, but I imagine it's pretty straightforward.) I have a similar hack for kernel debugging where the kernel has a global gT1Sz and I read that in DynamicLoaderDarwinKernel.cpp, symbol = m_kernel.GetModule()->FindFirstSymbolWithNameAndType( arm64_T1Sz_value, eSymbolTypeData); if (symbol) { if (symbol->GetByteSizeIsValid()) { addr_t sym_addr = symbol->GetLoadAddress(&m_process->GetTarget()); uint64_t sym_value = m_process->GetTarget().ReadUnsignedIntegerFromMemory( sym_addr, false, bytesize, 0, error); // 64 - T1Sz is the highest bit used for auth. // The value we pass in to SetVirtualAddressableBits is // the number of bits used for addressing, so if // T1Sz is 25, then 64-25 == 39, bits 0..38 are used for // addressing, bits 39..63 are used for PAC/TBI or whatever. int virt_addr_bits = 64 - sym_value; m_process->SetVirtualAddressableBits(virt_addr_bits); Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98529/new/ https://reviews.llvm.org/D98529 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits