[PATCH v2 0/1] aarch64: mingw: Auto-import implementation

Evgeny Karpov <[email protected]> Fri, 31 Jul 2026 16:46:54 +0200
Newsgroups gmane.comp.gnu.binutils
Message-ID <[email protected]>
Thank you for reviewing v1!
v2 implements auto-import support for 12/21/26 bit size relocations without
needing pseudo relocations and runtime relocations in MinGW/Cygwin, based on
feedback during upstreaming changes to MinGW.

Changes in v2:
- Avoid pseudo relocations and runtime handling in MinGW/Cygwin for 12/21/26 bit
  size relocations.
- Support dynamic relocations for adrp xn, symbol +/- offset
- Add tests.
- Rebase onto the latest change with rel->r_ignore support.

v1 2025-11-13:
The patch implements the required changes to support runtime relocations in
MinGW/Cygwin. For 26-bit relocations, the linker generates a jump stub, as
a single opcode is not sufficient for relocation.
This is how it is handled in Cygwin, for instance.
https://cygwin.com/pipermail/cygwin-patches/2025q4/014332.html
https://sourceware.org/pipermail/binutils/2025-November/145651.html

Evgeny Karpov (1):
  aarch64: mingw: Auto-import implementation

 bfd/coff-aarch64.c                           |  56 +++---
 ld/emultempl/pep.em                          |  17 +-
 ld/pe-dll.c                                  | 171 +++++++++++++++++++
 ld/testsuite/ld-pe/auto-import-aarch64.d     | 167 ++++++++++++++++++
 ld/testsuite/ld-pe/auto-import-aarch64.s     |  61 +++++++
 ld/testsuite/ld-pe/auto-import-dll-aarch64.s |  13 ++
 ld/testsuite/ld-pe/pe.exp                    |  15 +-
 7 files changed, 473 insertions(+), 27 deletions(-)
 create mode 100644 ld/testsuite/ld-pe/auto-import-aarch64.d
 create mode 100644 ld/testsuite/ld-pe/auto-import-aarch64.s
 create mode 100644 ld/testsuite/ld-pe/auto-import-dll-aarch64.s