On Thu Feb 20 11:18:55 2025 +0000, Jacek Caban wrote:
Actually, looking at this again, I think it breaks the case where `LdrGetProcedureAddress` triggers the DLL to load. With this change (or rather, the previous commit), we would no longer attach such a DLL, which seems incorrect. Maybe we do need is_dynamic for that after all.
That's probably solvable via calling `walk_node_dependencies( wm->ldr.DdagNode, process_attach, NULL );`, although maybe a bit inefficient and I haven't sorted out details.
(I also tend to think that calling `process_attach` *in the middle of* import resolution is a bad idea, when the graph is still changing. Seems fragile and easy way to introduce dangling pointers.)