https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90364
--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Martin Liska <mar...@gcc.gnu.org>: https://gcc.gnu.org/g:72e0c742bd01f8e7e6dcca64042b9ad7e75979de commit r12-4372-g72e0c742bd01f8e7e6dcca64042b9ad7e75979de Author: Martin Liska <mli...@suse.cz> Date: Thu Sep 9 13:02:24 2021 +0200 gcov: make profile merging smarter Support merging of profiles that are built from a different .o files but belong to the same source file. Moreover, a checksum is verified during profile merging and so we can safely combine such profile. PR gcov-profile/90364 gcc/ChangeLog: * coverage.c (build_info): Emit checksum to the global variable. (build_info_type): Add new field for checksum. (coverage_obj_finish): Pass object_checksum. (coverage_init): Use 0 as checksum for .gcno files. * gcov-dump.c (dump_gcov_file): Dump also new checksum field. * gcov.c (read_graph_file): Read also checksum. * doc/invoke.texi: Document the behaviour change. libgcc/ChangeLog: * libgcov-driver.c (merge_one_data): Skip timestamp and verify checksums. (write_one_data): Write also checksum. * libgcov-util.c (read_gcda_file): Read also checksum field. * libgcov.h (struct gcov_info): Add new field.