[all-commits] [llvm/llvm-project] 0b61db: [AArch64][Windows] Add llvm-readobj support for sa...

Eli Friedman via All-commits all-commits at lists.llvm.org
Tue Oct 4 18:56:07 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0b61db423bfec26f110c27b7282c3f51aa0f3006
      https://github.com/llvm/llvm-project/commit/0b61db423bfec26f110c27b7282c3f51aa0f3006
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2022-10-04 (Tue, 04 Oct 2022)

  Changed paths:
    A llvm/test/tools/llvm-readobj/COFF/arm64-unwind-save_any_reg.s
    M llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp
    M llvm/tools/llvm-readobj/ARMWinEHPrinter.h

  Log Message:
  -----------
  [AArch64][Windows] Add llvm-readobj support for save_any_reg unwind opcode.

This is primarily used for Arm64EC, but it could be used for other
non-standard calling conventions. The testcase is based on an Arm64EC
thunk generated by MSVC.

The name save_any_reg comes from Microsoft documentation, but the full
encoding isn't specified there; this is reverse-engineered from the
behavior of the unwinder. (Thanks to Martin Storsjö for his example of
how to write simple unwinder testcases by directly calling
RtlVirtualUnwind.)

Differential Revision: https://reviews.llvm.org/D135196




More information about the All-commits mailing list