Dave Martin dave.martin@linaro.org writes:
IFUNC doesn't solve the problem because either it gets resolved lazily (violating the above principle (*)), or we have to force _all_ symbols to resolve at startup, with may have a significant impact on startup time for large programs.
IFUNCs are never resolved lazily; that's one way in which they differ from PLTs.
(BTW, in response to a comment upthread, ARM does support IFUNCs now.)
Richard