New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 818241 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 330260
issue 818235



Sign in to add a comment

PDB GUID is generated randomly

Project Member Reported by zturner@chromium.org, Mar 2 2018

Issue description

When generating the GUID for a PDB, we use 16 random bytes.  This breaks reproducibility.  In order to fix this, we should use a hash of the PDB, but we probably shouldn't do this by default because PDBs can be very large (several gigabytes), and it will slow down link time considerably.  Once we do this, we can start ignoring the age field (or rather, treating GUID + Age as a unique 20 byte hash).

At the same time, we may also want to investigate the implications of setting the time stamp field in the COFF Debug Directories to be equal to this hash as well.  Currently, we set the debug directory timestamps to be the same as the COFF file header timestamps.  There may be no difference if we use a "more accurate" value, but it's worth investigating anyway.

 
Blocking: 818235
Components: Build
Note that the age field is itself *another* current source of non-reproducibility (because it increments with each build), but I don't think we need a separate issue for it because we will fix it at the same time here.
Status: Assigned (was: Untriaged)
This bug has an owner, thus, it's been triaged. Changing status to "assigned".
Blocking: 330260
Owner: thakis@chromium.org
Status: Fixed (was: Assigned)
Fixed in https://reviews.llvm.org/rLLD342334 / https://reviews.llvm.org/rL342333 a while ago.

Sign in to add a comment