Skip to content

[cDAC] Remove native components #117024

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

Merged
merged 3 commits into from
Jul 9, 2025

Conversation

max-charlamb
Copy link
Contributor

@max-charlamb max-charlamb commented Jun 25, 2025

As of #116488 and #116717, the cDAC no longer uses native unwinders.

@max-charlamb
Copy link
Contributor Author

/azp run runtime-diagnostics

@github-actions github-actions bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Jun 25, 2025
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@max-charlamb max-charlamb added area-Diagnostics-coreclr and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Jun 25, 2025
Copy link
Contributor

Tagging subscribers to this area: @steveisok, @dotnet/dotnet-diag
See info in area-owners.md if you want to be subscribed.

@max-charlamb max-charlamb marked this pull request as ready for review June 25, 2025 20:17
Copy link
Contributor

@Copilot Copilot AI left a comment

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 removes all cDAC-specific native unwinder components and associated build mechanics, reverting changes made for FEATURE_CDAC_UNWINDER now that cDAC no longer uses native unwinders.

  • Remove DirectPInvoke and static native library linking from the cDAC csproj
  • Delete the managed Unwinder.cs implementation and its interop code
  • Strip out all FEATURE_CDAC_UNWINDER conditionals from the coreclr unwinder sources and simplify CMakeLists

Reviewed Changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/native/managed/cdac/mscordaccore_universal/mscordaccore_universal.csproj Drop static linking of unwinder libraries
src/native/managed/cdac/.../Unwinder.cs Remove entire managed native-unwinder interop file
src/coreclr/unwinder/stdafx.h Eliminate FEATURE_CDAC_UNWINDER include paths
src/coreclr/unwinder/baseunwinder.h Remove CDACCallbacks and related guards
src/coreclr/unwinder/baseunwinder.cpp Delete t_pCallbacks and conditional unwinder code
src/coreclr/unwinder/arm64/unwinder.h Remove empty FEATURE_CDAC_UNWINDER blocks
src/coreclr/unwinder/arm64/unwinder.cpp Strip cDAC branch, leave DacUnwindStackFrame unguarded
src/coreclr/unwinder/amd64/unwinder.h Remove empty FEATURE_CDAC_UNWINDER blocks
src/coreclr/unwinder/amd64/unwinder.cpp Cleanup cDAC branches, consolidate DACCESS_COMPILE guard
src/coreclr/unwinder/CMakeLists.txt Remove custom cDAC targets and macros
Comments suppressed due to low confidence (1)

src/coreclr/unwinder/arm64/unwinder.cpp:2762

  • The DacUnwindStackFrame function is no longer wrapped in #ifdef DACCESS_COMPILE, so it will always be compiled. This can cause build failures on non-DAC builds. Wrap its definition and closing brace in #ifdef DACCESS_COMPILE ... #endif.
BOOL DacUnwindStackFrame(T_CONTEXT *pContext, T_KNONVOLATILE_CONTEXT_POINTERS* pContextPointers)

@max-charlamb max-charlamb merged commit ceb987d into dotnet:main Jul 9, 2025
95 of 97 checks passed
@max-charlamb max-charlamb deleted the cdac-remove-native-build branch July 9, 2025 15:53
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.

3 participants