diff options
author | Martin Thuresson <martinthuresson@gcc.gnu.org> | 2011-05-13 15:57:20 +0000 |
---|---|---|
committer | Martin Thuresson <martinthuresson@gcc.gnu.org> | 2011-05-13 15:57:20 +0000 |
commit | 9f47a24e79fbd0b73f65444c8c39d783e36f3a28 (patch) | |
tree | e6b3ff6bf898673cb3abd4a4ddabd51b7ba3484f /gcc | |
parent | b8a71aedd80dc9c0212da116defa88b178d11e0b (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 2 | ||||
-rw-r--r-- | gcc/libgcov.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr47793.c | 12 |
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 } } */ |