DynamoRIO / DynamoRIO/dynamorio

Support pdbpagesize linker flag from msvc when checking for code coverage

Open
#7,763 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

**Add a pointer to any prior users list discussion.**
I don't know of any discussion prior to this on this topic.

**Is your feature request related to a problem? Please describe.**
Large projects often need to support a larger than 4GB pdb when building with msvc. This is especially true if incremental linking is turned on as the pdb slowly grows over time. MSVC created a very undocumented linker flag pdbpagesize that allows for a pdb as large as 32GB.

This however breaks some tools here for code coverage basically getting the "Failed to enumerate lines for: " at the drcov2lcov step for the project you are running whenever that pdbpagesize option is used for linking.

**Describe the solution you'd like**
Either the tool could detect the pdb page size somehow or a command line argument would be needed.

**Describe alternatives you've considered**
You may be able to workaround this by having a code coverage configuration and a normal configuration for building but its cumbersome and doesn't work for all projects if their pdb size is over 4GB already without incremental linking at all contributing to it.

**Additional context**
I was able to reproduce this fairly easily with just a Basic "Hello World" C++ implementation with VS2026 when adding the /pdbpagesize:16384 linker option.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.