aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Thuresson <martinthuresson@gcc.gnu.org>2011-05-13 15:57:20 +0000
committerMartin Thuresson <martinthuresson@gcc.gnu.org>2011-05-13 15:57:20 +0000
commit9f47a24e79fbd0b73f65444c8c39d783e36f3a28 (patch)
treee6b3ff6bf898673cb3abd4a4ddabd51b7ba3484f /gcc
parentb8a71aedd80dc9c0212da116defa88b178d11e0b (diff)
downloadgcc-9f47a24e79fbd0b73f65444c8c39d783e36f3a28.zip
gcc-9f47a24e79fbd0b73f65444c8c39d783e36f3a28.tar.gz
gcc-9f47a24e79fbd0b73f65444c8c39d783e36f3a28.tar.bz2
re PR gcov-profile/47793 (Relative path in fprofile-use turns into absolute path)
2011-05-13 Martin Thuresson <martint@google.com> PR gcov-profile/47793 * libgcov.c (gcov_exit): Support relative profile paths. * doc/invoke.texi (-fprofile-dir): Update for above change. 2011-05-13 Martin Thuresson <martint@google.com> PR gcov-profile/47793 * gcc.dg/pr47793.c: New. From-SVN: r173735
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/doc/invoke.texi2
-rw-r--r--gcc/libgcov.c5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/pr47793.c12
5 files changed, 28 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 004440c..b8ee6d3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-13 Martin Thuresson <martint@google.com>
+
+ PR gcov-profile/47793
+ * libgcov.c (gcov_exit): Support relative profile paths.
+ * doc/invoke.texi (-fprofile-dir): Update for above change.
+
2011-05-13 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_canonical_types_compatible_p): Do not use
@@ -102,6 +108,7 @@
* configure.ac: Use AS_HELP_STRING throughout.
* configure: Regenerate.
+>>>>>>> .r173734
2011-05-12 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_save_reg): Change maybe_eh_return to bool.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index ddc34de..aee1e6b 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -7751,7 +7751,7 @@ Set the directory to search for the profile data files in to @var{path}.
This option affects only the profile data generated by
@option{-fprofile-generate}, @option{-ftest-coverage}, @option{-fprofile-arcs}
and used by @option{-fprofile-use} and @option{-fbranch-probabilities}
-and its related options.
+and its related options. Both absolute and relative paths can be used.
By default, GCC will use the current directory as @var{path}, thus the
profile data file will appear in the same directory as the object file.
diff --git a/gcc/libgcov.c b/gcc/libgcov.c
index 7d1f6d0..b39ef49 100644
--- a/gcc/libgcov.c
+++ b/gcc/libgcov.c
@@ -283,8 +283,9 @@ gcov_exit (void)
}
}
/* Update complete filename with stripped original. */
- if (!IS_DIR_SEPARATOR (*fname) && !HAS_DRIVE_SPEC(fname))
- {
+ if (prefix_length != 0 && !IS_DIR_SEPARATOR (*fname))
+ {
+ /* If prefix is given, add directory separator. */
strcpy (gi_filename_up, "/");
strcpy (gi_filename_up + 1, fname);
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9c3552a..9340d91 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2011-05-13 Martin Thuresson <martint@google.com>
+
+ PR gcov-profile/47793
+ * gcc.dg/pr47793.c: New.
+
2011-05-12 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/48975
diff --git a/gcc/testsuite/gcc.dg/pr47793.c b/gcc/testsuite/gcc.dg/pr47793.c
new file mode 100644
index 0000000..da6b6ea
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr47793.c
@@ -0,0 +1,12 @@
+/* Bug pr47793: Allow relative paths in profile-generate. */
+/* { dg-do run } */
+/* { dg-options "-O -fprofile-generate=./" } */
+/* { dg-final { scan-file pr47793.gcda "."} } */
+
+int
+main(void)
+{
+ return 0;
+}
+
+/* { dg-final { cleanup-coverage-files } } */