[PATCH v3] aarch64-pe support for LD, GAS and BFD

Zac Walker zac.walker@linaro.org
Fri Oct 14 07:58:22 GMT 2022


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-aarch64-pe-support-for-LD-GAS-and-BFD.patch
Type: text/x-diff
Size: 47349 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20221014/53c3ce1a/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v2-v3.diff
Type: text/x-diff
Size: 5451 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20221014/53c3ce1a/attachment-0003.bin>


More information about the Binutils mailing list