Add universal DBI with private PAL - #131458
Open
hoyosjs wants to merge 2 commits into
Open
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4c34245d-758e-44f8-a284-9e2fb9a62d3d
|
Azure Pipelines: Successfully started running 4 pipeline(s). 12 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces a new CoreCLR native module, mscordbi_universal, built in parallel to mscordbi but linked with a private PAL, and wires it into the Microsoft.DotNet.Cdac.Transport packaging so it can ship alongside mscordaccore_universal.
Changes:
- Add a new
mscordbi_universalnative build (CMake + export definition files) undersrc/coreclr/dlls/, reusing the existing DBI entrypoint source but linking a private PAL on Unix. - Define a reduced export surface for the universal binary (focused on
OpenVirtualProcessImpl2rather than HMODULE-based activation flows). - Include the new
mscordbi_universalbinary in theMicrosoft.DotNet.Cdac.Transportpackage.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/installer/pkg/projects/Microsoft.DotNet.Cdac.Transport/Microsoft.DotNet.Cdac.Transport.pkgproj | Adds mscordbi_universal to the native binaries packaged with the transport. |
| src/coreclr/dlls/mscordbi_universal/mscordbi_universal.src | New Windows export definition for mscordbi_universal. |
| src/coreclr/dlls/mscordbi_universal/mscordbi_universal_unixexports.src | New Unix exports list for mscordbi_universal. |
| src/coreclr/dlls/mscordbi_universal/CMakeLists.txt | New CMake target building and installing mscordbi_universal, including private-PAL linking on Unix. |
| src/coreclr/dlls/CMakeLists.txt | Adds the new subdirectory so the target is built with the rest of CoreCLR dlls. |
Comment on lines
+4
to
+8
| ; This binary owns its own PAL and only supports the path-based OpenVirtualProcessImpl2 | ||
| ; activation flow, so the HMODULE-taking OpenVirtualProcessImpl and the deprecated | ||
| ; OpenVirtualProcess/OpenVirtualProcess2 entrypoints exported by dlls/mscordbi/mscordbi.src | ||
| ; are intentionally omitted here. The remaining export set matches mscordbi.src; only the | ||
| ; LIBRARY name differs so the module's internal name matches mscordbi_universal.dll. |
jkotas
reviewed
Jul 28, 2026
| ; Out-of-proc creation path from the shim - ICLRDebugging | ||
| OpenVirtualProcessImpl2 | ||
|
|
||
| ; PAL module registration |
Member
There was a problem hiding this comment.
Are these PAL related methods needed? It would be nice to avoid leaking anything PAL related from this binary.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add
mscordbi_universalwith a private PAL and include it inMicrosoft.DotNet.Cdac.Transport.The universal binary exports only
OpenVirtualProcessImpl2; the HMODULE-basedOpenVirtualProcessImpl,OpenVirtualProcess, andOpenVirtualProcess2exports are omitted.Note
This pull request was created with the assistance of GitHub Copilot.