V3 of the patch originally written by Jedidiah Thompson. It allows aarch64-pe to be targeted natively, not having to use objcopy to convert it from ELF to PE. Between V2 and V3 I made a few recommended updates most notably adding the missing BFD_RELOC_AARCH64_BRANCH19 and additional const correctness. I have included a diff between patches v2 and v3. Patch and diff included as attachments to avoid text formatting issues. Changes since that original patch: - Added minimal relocation support and tested generated binaries run on a Surface-ProX ARM64 test machine. - Been through a review process with colleagues at Linaro. Linaro has agreed to run CI for aarch64-pe going forward in their test lab. - Run tests for multiple platforms; aarch64-linux-gnu, x86_64-linux-gnu, x86_64-w64-mingw32. Those tests pass and see no regressions. Multiple GAS tests still fail for aarch64-pe because of ELF specific assumptions. I plan to fix these later. The long-term goal of this work is to help enable MSYS2 for Window on ARM64. As discussed here: https://github.com/msys2/MSYS2-packages/issues/1888 The original work by Jedidiah Thompson here can be found here: https://sourceware.org/pipermail/binutils/2022-January/119077.html Regards, Zac Walker