On 20-08-2022 13:08, Jean Abou Samra wrote: > Thanks for your reply. I didn’t dig into the history yet, but I might do it later. For now, I have a question. What is the actual purpose of the GC_add_roots call? Is it just to give eternal protection to the objects pointed to by pointers in the memory section? In that case, wouldn’t it also work to create a bytevector from the root section and use scm_permanent_object on it? Or is this a subtlety where Guile registers its ELF bytecode as if it were a dynamic library (also ELF)? My answer is 'Possibly' to all of that, I don't know the loader code at all. Greetings, Maxime.