The drcov bb count was being printed as a 32-bit integer but passed a 64-bit value for x64/aarch64 builds. We fix that here to pass a 32-bit value with an overflow check (we do not support >4G blocks in drcov's post-processing today).
Unfortunately there is not a simple way to make a test. I experimented and actually failed to get the original bug to cause any visible problem even with subsequent specifiers in that same format string, with today's va_list accessors. Making a test of millions or billions of blocks is non-trivial: the easiest way is to dynamically generate the code, but that is not a great test for drcov in general where we want source lines to map back to; plus it will take a while to run which is not great in the CI suite.
Fixes #5845 (closed)