Skip to content

Reduce universal DBI source closure - #136374

Merged
max-charlamb merged 5 commits into
dotnet:mainfrom
max-charlamb:dev/max-charlamb/universal-dbi-minimal-build
Oct 26, 2026
Merged

max-charlamb merged 5 commits into
dotnet:mainfrom
max-charlamb:dev/max-charlamb/universal-dbi-minimal-build

Conversation

@max-charlamb

@max-charlamb max-charlamb commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Summary

Reduce the source closure required to build the mscordbi_universal by:

  • avoid including generated ETW and EventPipe headers in SELF_NO_HOST utilcode, where the eventing call sites are disabled
  • remove the corresponding eventing_headers dependencies from the DBI implementation libraries and keep that dependency only on hosted utilcode
  • move MSLAYOUT into a small standalone header so debugger common structures no longer pull in dacprivate.h and its DAC-only transitive dependencies (xclrdata.h, sospriv.h, msodw.h, and livedatatarget.h)

No-host utilcode disables its ETW call sites through SELF_NO_HOST, so avoid including generated eventing headers and remove the corresponding CMake dependencies.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 25eb53f8-927f-498d-94f9-0c2da243e293
@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.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @agocke
See info in area-owners.md if you want to be subscribed.

Max Charlamb added 3 commits October 23, 2026 14:39
Move the MSLAYOUT definition to a small shared header so debugger common structures do not include dacprivate.h solely for that macro. This removes dacprivate.h, xclrdata.h, sospriv.h, msodw.h, and livedatatarget.h from the universal DBI source closure, reducing it by roughly 14,000 physical lines.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 25eb53f8-927f-498d-94f9-0c2da243e293
Keep the CLRDATA_ADDRESS dependency explicit after removing dacprivate.h from the shared debugger header. This preserves the universal DBI build on Unix.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 25eb53f8-927f-498d-94f9-0c2da243e293
The runtime data descriptor exports sizeof(GenericModeBlock) on Windows. Include msodw.h directly instead of relying on debugger common.h to pull it through dacprivate.h.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 25eb53f8-927f-498d-94f9-0c2da243e293
@max-charlamb max-charlamb changed the title Avoid eventing dependencies in no-host utilcode Reduce universal DBI source closure Oct 23, 2026
Comment thread src/coreclr/utilcode/loaderheap.cpp Resolved
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 25eb53f8-927f-498d-94f9-0c2da243e293
@max-charlamb
max-charlamb marked this pull request as ready for review October 26, 2026 15:03
@max-charlamb
max-charlamb enabled auto-merge (squash) October 26, 2026 18:30
@max-charlamb
max-charlamb merged commit 4993792 into dotnet:main Oct 26, 2026
102 of 104 checks passed
@dotnet-milestone-bot dotnet-milestone-bot Bot added this to the 12.0-preview1 milestone Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants