[Lldb-commits] [PATCH] D107213: Disassemble AArch64 pc-relative address calculations & symbolicate

Jason Molenda via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Aug 4 23:36:48 PDT 2021


jasonmolenda updated this revision to Diff 364361.
jasonmolenda added a reviewer: DavidSpickett.
jasonmolenda added a comment.

Update patch to address David's suggestion that the bit masking & testing needed some comments to make it possible to follow.  In the process of doing that, I noticed that MachODump.cpp's SymbolizerSymbolLookUp, where I cribbed the bit stuff from, doesn't handle an ADRP referring to a 4k block before $pc; it doesn't sign extend the page imm value correctly from the ADRP.  I updated the test case to have a symbol 4k earlier than $pc so lldb has to compute this correctly to symbolicate the address, and added both an arm64 and arm64_32 yaml encoded copy of the binary.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D107213

Files:
  lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
  lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.h
  lldb/test/API/functionalities/disassemble/aarch64-adrp-add/TestAArch64AdrpAdd.py
  lldb/test/API/functionalities/disassemble/aarch64-adrp-add/a.out-arm64.yaml
  lldb/test/API/functionalities/disassemble/aarch64-adrp-add/a.out-arm64_32.yaml
  lldb/test/API/functionalities/disassemble/aarch64-adrp-add/main.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D107213.364361.patch
Type: text/x-patch
Size: 59514 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210805/a8d17665/attachment-0001.bin>


More information about the lldb-commits mailing list