This is specific to PAL, Linux implementations.
The JIT uses the DllMain() DLL_PROCESS_DETACH event to call jitShutdown(), which is output various information under various debugging modes, and close stdout if being unloaded.
More importantly, SuperPMI uses DLL_PROCESS_ATTACH to initialize the PAL (on Unix), initialize the logger, and DLL_PROCESS_DETACH to shutdown the logger. Because the PAL isn't initialized, SuperPMI crashes (issue: #47960)
@dotnet/crossgen-contrib @dotnet/jit-contrib
This is specific to PAL, Linux implementations.
The JIT uses the DllMain()
DLL_PROCESS_DETACHevent to calljitShutdown(), which is output various information under various debugging modes, and close stdout if being unloaded.More importantly, SuperPMI uses
DLL_PROCESS_ATTACHto initialize the PAL (on Unix), initialize the logger, andDLL_PROCESS_DETACHto shutdown the logger. Because the PAL isn't initialized, SuperPMI crashes (issue: #47960)@dotnet/crossgen-contrib @dotnet/jit-contrib