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