Hi,
We would like to upstream exception handling support for Windows on ARM64. Microsoft-published specifications can be found here:
a) https://docs.microsoft.com/en-us/cpp/build/arm64-exception-handling
b) https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions
We propose the following approach:
-
Upstream miscellaneous clang and llvm patches that are needed for exception handling on ARM64 Windows. These are small patches that deal with the ABI, relocations, etc. There are around 8 or 9 patches to upstream.
-
Upstream the MCLayer part. This mostly deals with unwinding opcodes that are described in a). This will probably consist of two patches.
-
Upstream the AArch64 frame lowering part. This mostly deals with emitting unwinding opcodes, as well as some small changes to the exception handling tables. Probably two patches.
-
Upstream setjmp support. This consists of two patches (one clang and one llvm).
Any thoughts?
Mandeep and I will start upstreaming shortly.
Thanks,
Sanjin