From 654ca05a0e1e0261a4477283ca2dd8678f62f1e7 Mon Sep 17 00:00:00 2001 From: marxin Date: Wed, 16 Aug 2017 10:22:57 +0200 Subject: [PATCH 1/2] Append PWD to path when using -fprofile-generate=/some/path. --- gcc/coverage.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/gcc/coverage.c b/gcc/coverage.c index ed469107e3e..5780e19bbc8 100644 --- a/gcc/coverage.c +++ b/gcc/coverage.c @@ -1220,8 +1220,24 @@ coverage_init (const char *filename) g->get_passes ()->get_pass_profile ()->static_pass_number; g->get_dumps ()->dump_start (profile_pass_num, NULL); - if (!profile_data_prefix && !IS_ABSOLUTE_PATH (filename)) - profile_data_prefix = getpwd (); + if (!IS_ABSOLUTE_PATH (filename)) + { + if (profile_data_prefix) + { + const char *pwd = getpwd (); + unsigned l1 = strlen (profile_data_prefix); + unsigned l2 = strlen (pwd); + + char *b = XNEWVEC (char, l1 + l2 + 2); + memcpy (b, profile_data_prefix, l1); + b[l1] = '/'; + memcpy (b + l1 + 1, pwd, l2); + b[l1 + l2 + 1] = '\0'; + profile_data_prefix = b; + } + else + profile_data_prefix = getpwd (); + } if (profile_data_prefix) prefix_len = strlen (profile_data_prefix); -- 2.14.1