binutils Newspaper
OCTOBER 6, 2026
bfd/pdb — Proposed

bfd/pdb: Increase PDB block size to 4096

Increases PDB block size to 4096 bytes to support larger files and align with MSVC.

This patch increases the PDB block size in the BFD library from 1024 to 4096 bytes. The previous 1024-byte block size limited PDB files to approximately 64 MB due to the block map’s capacity. The new size, matching MSVC’s standard, increases the limit to about 4 GB and resolves issues with tools like llvm-pdbutil that rejected larger files.

In Details

This change in binutils' BFD library modifies the internal block size used for PDB files. The original 1024-byte blocks were insufficient for larger PDBs because the stream directory's block map, being a single block itself, could only reference a limited number of subsequent blocks. Increasing this to 4096 bytes (the size used by Microsoft's compiler) allows for significantly larger PDB files, up to approximately 4 GB, and aligns with common tooling expectations.

For Context
PDB
Program Database. A file format used by Microsoft for storing debugging and project-related information for Microsoft Windows applications.
BFD
Binary File Descriptor library. A library used by GNU software, including binutils, to abstract away differences between various object file formats.
MSVC
Microsoft Visual C++. A suite of C and C++ development tools from Microsoft, which includes a compiler and linker.
stream directory
In the PDB format, this is a data structure that maps logical block numbers to their physical locations within the PDB file.
Filed Under: pdblinkerdebuggingperformancebinutils