-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[mono][aot] Emit a list of exported methods into the AOT image and load them when the image is loaded. #82809
Conversation
a3a313d
to
8e95582
Compare
8e95582
to
69f12a0
Compare
…ad them when the image is loaded. If there is a runtime attach function specified, these methods can call into the runtime before its initialized. In order for this to work, the runtime attach function needs to load all the AOT images containing such methods, and load_aot_module () will load and initialize these methods using the newly emitted table.
69f12a0
to
a297498
Compare
I will run this on the library builder scenario during the day and validate that it resolves the init issues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Ran it in both Full AOT and Full AOT + LLVM mode in a scenario where all is build into a native library, unmanagedcallersonly are exported out as entry points, library embedded in application that just call entry point, library init callback gets called that just loads the assembly and that now triggers the load of the methods marked with unmanagedcallersonly attribute, making sure all GOT and PLT slots have been initialized before continue executing the code in native-to-managed wrapper.
Failures are unrelated. |
No description provided.