Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Conversation

sdmaclea
Copy link

@sdmaclea sdmaclea commented Apr 22, 2020

This represents the minimum set of changes required to
be able to build the Cross DAC out of band.

This fixes the layout difference between the Windows
compiler and the clang Linux compiler.

The code adds alignas directives to allow cross OS compilation type layouts to match.
Also moves a bool into a bitfield.

Customer impact

This allows us to develop and test a new 3.1 feature (#28027) allowing triage of Linux dumps on Windows.

Regression?

No, this is in support of a new 3.1 feature.

Testing

This has been tested by using a PDB to Dwarf comparison tool to check type layouts.

This is based on a PR which has been in the 5.0 branch for a ~6 weeks.

Risk

Low

This represents the minimum set of changes required to
be able to build the Cross DAC out of band.

This fixes the layout difference between the Windows
compiler and the clang Linux compiler.
@sdmaclea sdmaclea self-assigned this Apr 22, 2020
@sdmaclea sdmaclea marked this pull request as draft April 22, 2020 18:27
@sdmaclea sdmaclea requested review from jkotas and hoyosjs April 22, 2020 18:28
@sdmaclea
Copy link
Author

sdmaclea commented Apr 22, 2020

I believe this represents the complete set of changes to the runtime so that the cross OS DAC layout would match the runtime for all architectures.

It is marked draft because:

  • I want to test the layouts actually match to be 100% sure I didn't miss something.
  • I would like to discuss strategy with @jeffschwMSFT

Editted
Done

@jeffschwMSFT jeffschwMSFT added the Servicing-consider Issue for next servicing release review label Apr 24, 2020
@sdmaclea sdmaclea marked this pull request as ready for review April 25, 2020 22:07
@sdmaclea sdmaclea closed this Apr 26, 2020
@sdmaclea sdmaclea reopened this Apr 26, 2020
@jeffschwMSFT jeffschwMSFT added this to the 3.1.x milestone Apr 28, 2020
@jeffschwMSFT jeffschwMSFT added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Apr 28, 2020
@jeffschwMSFT jeffschwMSFT modified the milestones: 3.1.x, 3.1.5 Apr 28, 2020
@jeffschwMSFT
Copy link
Member

Approved for June (via tactics)

@Anipik Anipik merged commit b53a526 into dotnet:release/3.1 May 13, 2020
sdmaclea added a commit that referenced this pull request Jul 16, 2020
PR #28035 changed the layout rules for two types.  Adjust the
verification to match new code.
@sdmaclea sdmaclea deleted the DacRuntimeLayout branch June 10, 2021 00:28
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Diagnostics Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants