This is an archive of the discontinued LLVM Phabricator instance.

[Support] Convert BinaryStream class zoo to 64-bit offsets

Authored by thakis on Sep 16 2021, 1:52 PM.



Most PDB fields are 32-bit, but in terms of MSF blocks, which are 4 kiB by default.

So PDB files can be a bit larger than 4 GiB, and much larger if you create them with a block size > 4 kiB.

This is a first (necessary, but by far not not sufficient) step towards supporting such PDB files.
Now we don't truncate in-memory file offsets (which are in terms of bytes, not in terms of blocks).

No effective behavior change. lld-link will still error out if it were to produce PDBs > 4 GiB.

Diff Detail

Event Timeline

thakis created this revision.Sep 16 2021, 1:52 PM
thakis requested review of this revision.Sep 16 2021, 1:52 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 16 2021, 1:52 PM
thakis edited the summary of this revision. (Show Details)Sep 16 2021, 1:54 PM
aeubanks accepted this revision.Sep 16 2021, 2:14 PM
This revision is now accepted and ready to land.Sep 16 2021, 2:14 PM
thakis updated this revision to Diff 373093.Sep 16 2021, 3:27 PM


Address clang-format reports.

This revision was landed with ongoing or failed builds.Sep 16 2021, 4:15 PM
This revision was automatically updated to reflect the committed changes.