From: Martin Liska Date: Tue, 25 May 2021 07:52:01 +0000 (+0200) Subject: DOC: update documentation of __gcov_{dump,reset} X-Git-Tag: basepoints/gcc-13~7250 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=403bb89bd7f4ec03d4dcbdf8668d0187358631a0;p=thirdparty%2Fgcc.git DOC: update documentation of __gcov_{dump,reset} gcc/ChangeLog: PR gcov-profile/100751 * doc/gcov.texi: Document that __gcov_dump can be called just once and that __gcov_reset resets run-time counters. --- diff --git a/gcc/doc/gcov.texi b/gcc/doc/gcov.texi index 1ad99e5569ee..d076721b93c5 100644 --- a/gcc/doc/gcov.texi +++ b/gcc/doc/gcov.texi @@ -885,13 +885,15 @@ same source lines, the line counts themselves might seem inconsistent. Long-running applications can use the @code{__gcov_reset} and @code{__gcov_dump} facilities to restrict profile collection to the program region of -interest. Calling @code{__gcov_reset(void)} will clear all profile counters -to zero, and calling @code{__gcov_dump(void)} will cause the profile information -collected at that point to be dumped to @file{.gcda} output files. +interest. Calling @code{__gcov_reset(void)} will clear all run-time profile +counters to zero, and calling @code{__gcov_dump(void)} will cause the profile +information collected at that point to be dumped to @file{.gcda} output files +(the function can be called just once). Instrumented applications use a static destructor with priority 99 to invoke the @code{__gcov_dump} function. Thus @code{__gcov_dump} is executed after all user defined static destructors, as well as handlers registered with @code{atexit}. + If an executable loads a dynamic shared object via dlopen functionality, @option{-Wl,--dynamic-list-data} is needed to dump all profile data.