On Wed, 2 Oct 2019 at 16:17, Ard Biesheuvel <[email protected]> wrote:
>
...
>
> In the future, I would like to extend these interfaces to use static calls,
> so that the accelerated implementations can be [un]plugged at runtime. For
> the time being, we rely on weak aliases and conditional exports so that the
> users of the library interfaces link directly to the accelerated versions,
> but without the ability to unplug them.
>

As it turns out, we don't actually need static calls for this.
Instead, we can simply permit weak symbol references to go unresolved
between modules (as we already do in the kernel itself, due to the
fact that ELF permits it), and have the accelerated code live in
separate modules that may not be loadable on certain systems, or be
blacklisted by the user.

Reply via email to