[Lldb-commits] [PATCH] D128221: [LLDB] Add Arm64 CodeView to LLDB regnum mapping

Muhammad Omair Javaid via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Jun 28 05:58:54 PDT 2022


omjavaid added inline comments.


================
Comment at: lldb/source/Plugins/SymbolFile/NativePDB/CodeViewRegisterMapping.cpp:51
+    gpr_w27_arm64, // ARM64_W27, 37)
+    gpr_w28_arm64, // ARM64_W28, 38)
+    LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
----------------
DavidSpickett wrote:
> Is there a reason W29/W30/WZR are missing here?
So this is mapping between LLDB and CodeView register numbering. LLDB register numbering ignores W29, W30 and WZR in favor of FP, LR and SP. Ref ./lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h


================
Comment at: lldb/source/Plugins/SymbolFile/NativePDB/CodeViewRegisterMapping.cpp:88
+    gpr_sp_arm64,  // ARM64_SP, 81)
+    LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
+    LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,
----------------
DavidSpickett wrote:
> ARM64_ZR here? Though they're the same encoding in the instructions so it probably doesn't change much.
Here again LLDB register numbering considers GPR 31 as SP although AARM suggest it can be used as ZR. hence the choice of LLDB specific encoding.


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

https://reviews.llvm.org/D128221



More information about the lldb-commits mailing list