From e204fd5113a4ae92713442555ab4258abd84942a Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Fri, 25 Sep 2020 10:53:26 +0200 Subject: [PATCH] GCOV: do not mangle .gcno files. gcc/ChangeLog: PR gcov-profile/97193 * coverage.c (coverage_init): GCDA note files should not be mangled and should end in output directory. (cherry picked from commit f8dcbea5d2fb17dca3a7de97f15fc49997222365) --- gcc/coverage.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gcc/coverage.c b/gcc/coverage.c index 9be446a862d..c442e2fb008 100644 --- a/gcc/coverage.c +++ b/gcc/coverage.c @@ -1201,6 +1201,8 @@ coverage_obj_finish (vec *ctor) void coverage_init (const char *filename) { + const char *original_filename = filename; + int original_len = strlen (original_filename); #if HAVE_DOS_BASED_FILE_SYSTEM const char *separator = "\\"; #else @@ -1255,9 +1257,9 @@ coverage_init (const char *filename) /* Name of bbg file. */ if (flag_test_coverage && !flag_compare_debug) { - bbg_file_name = XNEWVEC (char, len + strlen (GCOV_NOTE_SUFFIX) + 1); - memcpy (bbg_file_name, filename, len); - strcpy (bbg_file_name + len, GCOV_NOTE_SUFFIX); + bbg_file_name = XNEWVEC (char, original_len + strlen (GCOV_NOTE_SUFFIX) + 1); + memcpy (bbg_file_name, original_filename, original_len); + strcpy (bbg_file_name + original_len, GCOV_NOTE_SUFFIX); if (!gcov_open (bbg_file_name, -1)) { -- 2.28.0