Skip to content

Add universal DBI with private PAL - #131458

Open
hoyosjs wants to merge 2 commits into
dotnet:mainfrom
hoyosjs:juhoyosa/mscordbi-universal
Open

Add universal DBI with private PAL#131458
hoyosjs wants to merge 2 commits into
dotnet:mainfrom
hoyosjs:juhoyosa/mscordbi-universal

Conversation

@hoyosjs

@hoyosjs hoyosjs commented Jul 28, 2026

Copy link
Copy Markdown
Member

Add mscordbi_universal with a private PAL and include it in Microsoft.DotNet.Cdac.Transport.

The universal binary exports only OpenVirtualProcessImpl2; the HMODULE-based OpenVirtualProcessImpl, OpenVirtualProcess, and OpenVirtualProcess2 exports are omitted.

Note

This pull request was created with the assistance of GitHub Copilot.

hoyosjs added 2 commits July 28, 2026 04:37
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4c34245d-758e-44f8-a284-9e2fb9a62d3d
Copilot AI review requested due to automatic review settings July 28, 2026 11:45
@github-actions github-actions Bot added the area-Infrastructure-coreclr Only use for closed issues label Jul 28, 2026
@azure-pipelines

Copy link
Copy Markdown
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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_universal native build (CMake + export definition files) under src/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 OpenVirtualProcessImpl2 rather than HMODULE-based activation flows).
  • Include the new mscordbi_universal binary in the Microsoft.DotNet.Cdac.Transport package.

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.
; Out-of-proc creation path from the shim - ICLRDebugging
OpenVirtualProcessImpl2

; PAL module registration

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these PAL related methods needed? It would be nice to avoid leaking anything PAL related from this binary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-Infrastructure-coreclr Only use for closed issues

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants