Skip to content

crossgen2 doesn't call DllMain on the JIT #49525

Description

@BruceForstall

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions