On 28/10/2025 13:46, Evgeny Karpov wrote:
The patch adds runtime pseudo relocation handling for 12-bit and 21-bit
relocations. The 26-bit relocation is handled using a jump stub generated by
the linker.
Thanks! I applied this.
I believe this file is also present in the MinGW-w64 runtime, so you
should submit this change to that project as well.
Additionally relevant to this area, there's also some stuff related to
v1 pseudo-relocations which should have been tidied-up for x86_64 (which
post-dates v2) when x86 was removed (see [1]), but never was.
According to the notes I have from a few years ago (which amusingly say
"maybe we'll fix this for arm64" :)):
* Remove dummy _pei386_runtime_relocator (conditionally on arm64)
* In binutils, modify the pe_create_runtime_relocator_reference function
in ld/pe-dll.c so it no longer references that (for targets which have
always supported v2 mode, e.g x86_64 and arm64).
* Make 'ld --enable-runtime-pseudo-reloc-v1' an error (for targets which
don't support v1 mode e.g. arm64)
[1]
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=commitdiff;h=83f8e24f0b4a8cd4e03e86320c2647f4bb6939f5