Repository navigation
Take the phase of a coverage record's version word from libgcov too - #3713
Merged
Merged
Conversation
rucc reads the release of the libgcov.a a coverage build links from the version word in the archive, but only took a word that ends in *, the mark of a release. The snapshot of GCC 16 that Ubuntu packages as gcc-16 ends its word in a space, so rucc fell back to B60* and libgcov refused the counts with "Version mismatch - expected 16.0 (experimental) (B60 ) got 16.0 (release) (B60*)". The scan now takes the phase GCC can write there as well, and the record copies it.
11 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A program built with
--coverageon a machine whose newest GCC is Ubuntu'sgcc-16package wrote no.gcdafile. libgcov said "Version mismatch - expected 16.0 (experimental) (B60 ) got 16.0 (release) (B60*)" and dropped the counts.cargo xtask cifailed on the Linux box ingcov_reads_the_counts_of_a_covered_programfor this reason.rucc already reads the release from the version word inside the
libgcov.athe link takes, but it only accepted a word ending in*. gcc/genversion.cc writes*for a release or a prerelease and the first character of DEV-PHASE for anything else,eon the trunk, and that package is a snapshot that ends the word in a space. The scan now takes*, a space or a lower case letter as the phase, the session keeps it next to the release, and the record's version word ends with it. With nothing found the word still ends in*.On the Linux box, which has that gcc-16 package, arc_counters passes 5 of 5 and coverage_i686 2 of 2, the gcov and coverage unit tests pass with two new cases, and clippy is clean.