-
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] Audit embedding API for .NET 5 correctness #33557
Comments
I couldn't add an area label to this Issue. Checkout this page to find out which area owner to ping, or please add exactly one area label to help train me in the future. |
It's worth noting this isn't just for ALCs, it's for netcore changes in general. ALC support is just going to be the most frequent incompatibility. |
We should also consider as part of this what ALC functions to put in public headers. Things like getting the default ALC for a domain will be useful to embedders. |
In xamarin android monodroid/jni direcotry, I found the following header files referenced by the corresponding files in the directory. Everything else lacked a reference.
In the jni directory, I ran the following command in powershell after creating an array filled with the header files |
Similarly in Java.Interop the following headers are referenced by the corresponding files in the Java.Interop directory.
|
In xamarin-macios exports.t4 the following headers are referenced.
|
Moving to 7.0.0 |
moving tracking issues to 8.0.0 |
This is a tracking issue to audit the public embedding API for correctness with respect to assembly load context support.
The goal is to consider how each function in the headers below will behave when there are multiple ALCs in the managed code, and to decide whether the function behavior needs to be corrected, or if it is not feasible to correct, whether the function's documentation should be updated with a deprecation note and a new ALC-aware replacement added.
The top priority are functions that are mentioned in xamarin-macios exports.t4 or headers that are used in the source code in the xamarin android monodroid/jni directory, and Java.Interop
mono/utils
mono/metadata
mono/mini
The following headers aren't installed, but they have
MONO_API
functions, and should be audited too:Mini
mono/utils/mini-runtime.h
mono/utils/monovm.h
mono/utils/mini.h
mono/utils/mini-llvm.h
mono/utils/aot-runtime.h
mono/utils/debugger-agent.h
Metadata:
mono/metadata/cil-coff.h
mono/metadata/marshal-ilgen.h
mono/metadata/marshal.h
mono/metadata/coree.h
mono/metadata/assembly-internals.h
mono/metadata/sgen-toggleref.h
mono/metadata/class-internals.h
mono/metadata/w32file.h
mono/metadata/security-core-clr.h
mono/metadata/metadata-internals.h
mono/metadata/monitor.h
mono/metadata/object-internals.h
mono/metadata/mono-mlist.h
mono/metadata/method-builder-ilgen.h
mono/metadata/filewatcher.h
mono/metadata/threads-types.h
mono/metadata/cominterop.h
mono/metadata/mempool.h
mono/metadata/mono-perfcounters.h
mono/metadata/icall-table.h
mono/metadata/mono-hash.h
mono/metadata/gc-internals.h
Utils
mono/utils/mono-path.h
mono/utils/mono-linked-list-set.h
mono/utils/mono-proclib.h
mono/utils/mono-logger-internals.h
mono/utils/strenc.h
mono/utils/hazard-pointer.h
mono/utils/mono-threads-api.h
mono/utils/mono-dl-fallback.h
mono/utils/mono-embed.h
mono/utils/mono-error-internals.h
mono/utils/mono-digest.h
mono/utils/os-event.h
mono/utils/mono-threads.h
mono/utils/monobitset.h
mono/utils/mono-uri.h
mono/utils/mono-mmap.h
mono/utils/lock-free-alloc.h
mono/utils/mono-conc-hashtable.h
mono/utils/lock-free-queue.h
mono/utils/mono-logger.h
mono/utils/mono-poll.h
The text was updated successfully, but these errors were encountered: