[PATCH] D35086: Fix some differences between LLD and MSVC generated PDBs

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 7 09:53:54 PDT 2017


zturner added a comment.

(BTW, ignore in case you already noticed them, but I also have https://reviews.llvm.org/D35092 and https://reviews.llvm.org/D35039 if you don't mind taking a look at those as well)



================
Comment at: lld/COFF/PDB.cpp:344
   InfoBuilder.setAge(DI ? DI->PDB70.Age : 0);
+  InfoBuilder.setSignature(time(nullptr));
 
----------------
rnk wrote:
> rnk wrote:
> > Generally speaking we want our tool output to be deterministic. Clang has a /Brepro flag that controls the emission of timestamps in file headers. Can you add a FIXME here to add a flag for this?
> Actually, ignore this. We already need to absolute-ize paths, so our output isn't really deterministic.
There are other places where we parts of LLD where we will need to by default produce non-reproducible builds as well (for example, the guid in a PDB needs to be unique).  Probably one or two other examples that escape me at the moment.  But yea, we should add a flag for this and use the flag in tests.


================
Comment at: lld/test/COFF/pdb-diff.test:10
+
+CHECK:        ----------------------
+CHECK-NEXT:   |  MSF Super Block   |
----------------
rnk wrote:
> Are you worried about the fragility of these CHECKs? FileCheck ignores whitespace differences, so it might not be so bad, but I'm a little concerned.
Doesn't it only ignore leading and trailing whitespace differences?  We could add a "no table" mode that just outputs `<Field>: <Result>` but I think that can come later, right now it's just good to have minimal test coverage documenting the places we differ.


https://reviews.llvm.org/D35086





More information about the llvm-commits mailing list