I must say I barely understand anything here, although I did touch DLL load/unload code a bit in the past. You mention the goal is to make .dll.so match PE DLLs better. Since the goal is to get rid of .dll.so files and build things as separate .dll and .so modules (e.g. like already done in ntdll), does your patch matter in the long run?