llvm.org GIT mirror llvm / 9657506
[PDB] More changes to bring lld PDBs to parity with MSVC. 1) Don't write a /src/headerblock stream. This appears to be written conditionally by MSVC, but it's not clear what the condition is. For now, just remove it since we dont' know what it is anyway and the particular pdb we've checked in for the test doesn't have one. 2) Write a valid timestamp for the PDB file signature. This leads to non-reproducible builds, but it matches the default behavior of link, so it should be out default as well. If we need reproducibility, we should add a separate command line option for it that is off by default. 3) Write an empty FPO stream. MSVC seems to always write an FPO stream. This change makes the stream directory match up, although we still need to make the contents of the FPO stream match. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307436 91177308-0d34-0410-b5e6-96231b3b80d8 Zachary Turner 2 years ago
2 changed file(s) with 4 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
8585
8686 for (const auto &Name : OrderedStreamNames) {
8787 auto Item = Mapping.find(Name);
88 assert(Item != Mapping.end());
88 if (Item == Mapping.end())
89 continue;
8990 if (auto EC = Writer.writeCString(Item->getKey()))
9091 return EC;
9192 }
107108
108109 for (const auto &Name : OrderedStreamNames) {
109110 auto Item = Mapping.find(Name);
110 assert(Item != Mapping.end());
111 if (Item == Mapping.end())
112 continue;
111113 FinalizedHashTable.set(FinalizedInfo->StringDataBytes, Item->getValue());
112114 FinalizedInfo->StringDataBytes += Item->getKeyLength() + 1;
113115 }
9494 if (auto EC = addNamedStream("/names", StringsLen))
9595 return std::move(EC);
9696 if (auto EC = addNamedStream("/LinkInfo", 0))
97 return std::move(EC);
98 if (auto EC = addNamedStream("/src/headerblock", 0))
9997 return std::move(EC);
10098
10199 if (Info) {