On Sat, Apr 22, 2023 at 2:59 PM Samuel Thibault <samuel.thiba...@gnu.org> wrote:
> Perhaps we can generate "init" variants of the RPCs that we need at
> initialization, that are made to use the base memcpy implementation, and
> only use them in the init code?

If we undo 56010b73e81e2cb1082e418699f98353598fe671 for static builds
(basically stick && defined (SHARED) in there) and apply Adhemerval's
suggestion, we might even get away without compiling separate init
versions. We should only need to de-ifunc-ify init-first.c,
thread_set_state, hurdstartup.c, and exec_startup_get_info. If they
all go through __mig_memcpy which is in a separate translation unit,
we'd have to make __mig_memcpy slow for everyone; but if they call
memcpy directly, we can selectively make only those ones use the slow
memcpy.

What do you think?

Sergey

Reply via email to