[all-commits] [llvm/llvm-project] de3633: [llvm-objdump][COFF] Correctly decode `UOP_Epilog`...
Arpad Borsos via All-commits
all-commits at lists.llvm.org
Thu Sep 1 14:05:32 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: de3633e746dba4774ba7f638f04e9c8f2541fd54
https://github.com/llvm/llvm-project/commit/de3633e746dba4774ba7f638f04e9c8f2541fd54
Author: Arpad Borsos <swatinem at swatinem.de>
Date: 2022-09-01 (Thu, 01 Sep 2022)
Changed paths:
M llvm/tools/llvm-objdump/COFFDump.cpp
Log Message:
-----------
[llvm-objdump][COFF] Correctly decode `UOP_Epilog` opcodes
At least `ntdll` is using the undocumented version 2 unwind info, and opcode 6, which is already defined as `UOP_Epilog`.
Using `llvm-objdump --unwind` with `ntdll` would previously result in unreachable assertions because this code was missing from `getNumUsedSlots` and `getUnwindCodeTypeName`.
The slots of these codes comes from https://github.com/dotnet/runtime/blob/57bfe474518ab5b7cfe6bf7424a79ce3af9d6657/src/coreclr/inc/win64unwind.h#L51-L52 which I would assume is a good authoritative source.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D107655
More information about the All-commits
mailing list