Skip to content
/ cecil Public
forked from jbevain/cecil
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

Fix portable PDB stamp in CodeView header #32

Merged
merged 2 commits into from
Nov 29, 2021

Conversation

vitek-karas
Copy link
Member

Previous fix for deterministic PDB ID wrote the PDB stamp as the PDB Age field. This change fixes it to write the stamp as the stamp field of the CodeView header and writes the PDB Age as 1 always.

Added tests.

Also includes a test fix which was discovered by trying to merge the previous change into jbevain/cecil.

vitek-karas and others added 2 commits November 29, 2021 06:09
Previous fix for deterministic PDB ID wrote the PDB stamp as the PDB Age field. This change fixes it to write the stamp as the stamp field of the CodeView header nad writes the PDB Age as 1 always.

Added tests.
@vitek-karas
Copy link
Member Author

@marek-safar @agocke could you please review?

@vitek-karas
Copy link
Member Author

This should fix the failure seen in dotnet/runtime#61669.

@marek-safar marek-safar merged commit e04f141 into dotnet:main Nov 29, 2021
@akoeplinger
Copy link
Member

You'll add that to jbevain#810 right?

@vitek-karas
Copy link
Member Author

@akoeplinger Absolutely - already done.

@vitek-karas vitek-karas deleted the FixCodeViewStampFromPdbId branch November 29, 2021 19:57
vitek-karas added a commit to vitek-karas/linker that referenced this pull request Nov 29, 2021
vitek-karas added a commit to dotnet/linker that referenced this pull request Nov 30, 2021
marek-safar pushed a commit that referenced this pull request Jan 20, 2022
* Fix deterministic MVID and add PdbChecksum (#31)

* Fix how pdb path is calculated in the tests

* Fix portable PDB stamp in CodeView header (#32)

* Introduce ISymbolWriter.Write

This mostly cleans up the code to make it easier to understand. `ISymbolWriter.GetDebugHeader` no longer actually writes the symbols, there's a new `Write` method for just that.

The assembly writer calls `Write` first and then the image writer calls `GetDebugHeader` when it's needed.

This is partially taken from jbevain#617.
marek-safar added a commit that referenced this pull request Jan 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants