[PATCH] D62608: [ARM64, COFF] Add CodeView register mapping

Tom Tan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 29 09:10:08 PDT 2019


TomTan created this revision.
TomTan added reviewers: efriedma, rnk.
TomTan added a project: LLVM.
Herald added subscribers: llvm-commits, kristof.beyls, javed.absar.

CodeView has its own register map which is defined in cvconst.h. Missing this mapping before saving register to CodeView causes debugger to show incorrect value for all register based variables, like variables in register and local variables addressed by register (stack pointer + offset).

This change added mapping between LLVM register and CodeView register so the correct register number will be stored to CodeView/PDB, but it doesn't fix the translation from CodeView register number to register name, because CodeView register numbers overlap between architectures. So the tools like llvm-pdbutil need extra fix in order to dump ARM64 registers correctly from PDB.


Repository:
  rL LLVM

https://reviews.llvm.org/D62608

Files:
  include/llvm/DebugInfo/CodeView/CodeView.h
  include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
  lib/DebugInfo/PDB/PDBExtras.cpp
  lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
  test/DebugInfo/COFF/register-variables-arm64.ll
  tools/llvm-pdbutil/MinimalSymbolDumper.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62608.201942.patch
Type: text/x-patch
Size: 24581 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190529/63b9f0b3/attachment.bin>


More information about the llvm-commits mailing list