docs: Document more .gcda file name generation.

Message ID 9c1a2563-9e05-b167-f6e7-5a78237812cc@suse.cz
State New
Headers
Series docs: Document more .gcda file name generation. |

Commit Message

Martin Liška Feb. 28, 2022, 9:39 a.m. UTC
  This makes documentation more precise.

Ready to be installed?
Thanks,
Martin

	PR gcov-profile/104677

gcc/ChangeLog:

	* doc/invoke.texi: Document more .gcda file name generation.
---
  gcc/doc/invoke.texi | 10 +++++++++-
  1 file changed, 9 insertions(+), 1 deletion(-)
  

Comments

Richard Biener March 1, 2022, 8:50 a.m. UTC | #1
On Mon, Feb 28, 2022 at 10:39 AM Martin Liška <mliska@suse.cz> wrote:
>
> This makes documentation more precise.
>
> Ready to be installed?
> Thanks,
> Martin
>
>         PR gcov-profile/104677
>
> gcc/ChangeLog:
>
>         * doc/invoke.texi: Document more .gcda file name generation.
> ---
>   gcc/doc/invoke.texi | 10 +++++++++-
>   1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index ec291c06542..07da1eb2047 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -13459,6 +13459,7 @@ counts to a file called @file{@var{sourcename}.gcda} for each source
>   file.  The information in this data file is very dependent on the
>   structure of the generated code, so you must use the same source code
>   and the same optimization options for both compilations.
> +See details about the file naming in @option{-fprofile-arcs}.
>
>   With @option{-fbranch-probabilities}, GCC puts a
>   @samp{REG_BR_PROB} note on each @samp{JUMP_INSN} and @samp{CALL_INSN}.
> @@ -15237,6 +15238,12 @@ explicitly specified and it is not the final executable, otherwise it is
>   the basename of the source file.  In both cases any suffix is removed
>   (e.g.@: @file{foo.gcda} for input file @file{dir/foo.c}, or
>   @file{dir/foo.gcda} for output file specified as @option{-o dir/foo.o}).
> +
> +Note that if a command line directly links source files, the corresponding
> +@var{.gcda} files will be prefixed with a name of the output file.

... with the unsuffixed name of the output file ...

OK with that change.

> +E.g. @code{gcc a.c b.c -o binary} would generate @file{binary-a.gcda} and
> +@file{binary-b.gcda} files.
> +
>   @xref{Cross-profiling}.
>
>   @cindex @command{gcov}
> @@ -15330,7 +15337,8 @@ profile data file appears in the same directory as the object file.
>   In order to prevent the file name clashing, if the object file name is
>   not an absolute path, we mangle the absolute path of the
>   @file{@var{sourcename}.gcda} file and use it as the file name of a
> -@file{.gcda} file.  See similar option @option{-fprofile-note}.
> +@file{.gcda} file.  See details about the file naming in @option{-fprofile-arcs}.
> +See similar option @option{-fprofile-note}.
>
>   When an executable is run in a massive parallel environment, it is recommended
>   to save profile to different folders.  That can be done with variables
> --
> 2.35.1
>
  

Patch

diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index ec291c06542..07da1eb2047 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -13459,6 +13459,7 @@  counts to a file called @file{@var{sourcename}.gcda} for each source
  file.  The information in this data file is very dependent on the
  structure of the generated code, so you must use the same source code
  and the same optimization options for both compilations.
+See details about the file naming in @option{-fprofile-arcs}.
  
  With @option{-fbranch-probabilities}, GCC puts a
  @samp{REG_BR_PROB} note on each @samp{JUMP_INSN} and @samp{CALL_INSN}.
@@ -15237,6 +15238,12 @@  explicitly specified and it is not the final executable, otherwise it is
  the basename of the source file.  In both cases any suffix is removed
  (e.g.@: @file{foo.gcda} for input file @file{dir/foo.c}, or
  @file{dir/foo.gcda} for output file specified as @option{-o dir/foo.o}).
+
+Note that if a command line directly links source files, the corresponding
+@var{.gcda} files will be prefixed with a name of the output file.
+E.g. @code{gcc a.c b.c -o binary} would generate @file{binary-a.gcda} and
+@file{binary-b.gcda} files.
+
  @xref{Cross-profiling}.
  
  @cindex @command{gcov}
@@ -15330,7 +15337,8 @@  profile data file appears in the same directory as the object file.
  In order to prevent the file name clashing, if the object file name is
  not an absolute path, we mangle the absolute path of the
  @file{@var{sourcename}.gcda} file and use it as the file name of a
-@file{.gcda} file.  See similar option @option{-fprofile-note}.
+@file{.gcda} file.  See details about the file naming in @option{-fprofile-arcs}.
+See similar option @option{-fprofile-note}.
  
  When an executable is run in a massive parallel environment, it is recommended
  to save profile to different folders.  That can be done with variables