Skip to content
Snippets Groups Projects
  • Martin Liska's avatar
    72e0c742
    gcov: make profile merging smarter · 72e0c742
    Martin Liska authored
    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.
    72e0c742
    History
    gcov: make profile merging smarter
    Martin Liska authored
    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.