On 16/09/2026 09:49, Evgeny Karpov wrote:
On Tue, 07 Jul 2026, Chandru Kumaresan wrote:
On AArch64, the autoload INIT_WRAPPER passes func_info* via x30 ("mov
x0, x30").  This works for the first init stage (std_dll_init), reached
by the trampoline's "blr".  It breaks for a chained second init, because
dll_chain reaches it via "br x1" without updating x30.

A more general question, could the autoload implementation be replaced by delay 
loaded DLLs?

In theory, yes.

(autoload.cc dates back into the previous millennium, when hand-rolling your own solution to this problem was the only option)

In practice, I'm not sure what the state of the 'dlltool -y' implementation for aarch64 is, and I think there'd be some work involved in mapping all the various ways of handling a missing function we have onto __delayLoadHelper2().

Patches to that end are certainly welcome. :)

Reply via email to