-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Deterministic builds need a mechanism to control PDB path in PE #9813
Labels
Area-Compilers
Concept-Determinism
The issue involves our ability to support determinism in binaries and PDBs created at build time.
Feature Request
Milestone
Comments
jaredpar
added
Area-Compilers
Feature Request
Concept-Determinism
The issue involves our ability to support determinism in binaries and PDBs created at build time.
labels
Mar 16, 2016
35 tasks
Note that there is an "unsupported" solution in Roslyn due to #9814 : /features:pdb-path-determinism causes the PDB path emitted into the PE file to omit the path prefix. |
jaredpar
added a commit
to jaredpar/roslyn
that referenced
this issue
May 17, 2017
The PDB path which is written into the PE file should respect the `/pathmap` option passed to the compiler. This is necessary to ensure that PEs can be deterministic when built from different source paths. The feature flag `pdb-path-determinism` is being kept for the time being. Even though it's a feature flag it still seems inappropriate to break customers in a point release. Deferring the removal until the next major release to give customers time to react. This issue tracks removing the flag: dotnet#19592 closes dotnet#9813
jaredpar
added a commit
that referenced
this issue
May 18, 2017
The PDB path which is written into the PE file should respect the `/pathmap` option passed to the compiler. This is necessary to ensure that PEs can be deterministic when built from different source paths. The feature flag `pdb-path-determinism` is being kept for the time being. Even though it's a feature flag it still seems inappropriate to break customers in a point release. Deferring the removal until the next major release to give customers time to react. This issue tracks removing the flag: #19592 closes #9813
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Area-Compilers
Concept-Determinism
The issue involves our ability to support determinism in binaries and PDBs created at build time.
Feature Request
Today the full path of the emitted PDB is embedded into the PE file. This particular path is intentionally excluded from our standard path mapping code. Hence this makes it impossible to create identical builds unless:
Neither of these is a palatable option. Not having this capability means we can't easily share build artifacts deterministically between various machines.
The text was updated successfully, but these errors were encountered: