libgcov: report about a different timestamp (PR gcov-profile/85759).
2018-05-29 Martin Liska <mliska@suse.cz> PR gcov-profile/85759 * doc/gcov.texi: Document GCOV_ERROR_FILE and GCOV_EXIT_AT_ERROR env variables. 2018-05-29 Martin Liska <mliska@suse.cz> PR gcov-profile/85759 * libgcov-driver-system.c (gcov_error): Introduce usage of GCOV_EXIT_AT_ERROR env. variable. * libgcov-driver.c (merge_one_data): Print error that we overwrite a gcov file with a different timestamp. From-SVN: r260895
This commit is contained in:
parent
e379122d1f
commit
0e8f29daae
|
@ -1,3 +1,9 @@
|
||||||
|
2018-05-29 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
|
PR gcov-profile/85759
|
||||||
|
* doc/gcov.texi: Document GCOV_ERROR_FILE and GCOV_EXIT_AT_ERROR
|
||||||
|
env variables.
|
||||||
|
|
||||||
2018-05-29 Jakub Jelinek <jakub@redhat.com>
|
2018-05-29 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* tree-cfg.c (verify_gimple_assign_unary): Add checking for
|
* tree-cfg.c (verify_gimple_assign_unary): Add checking for
|
||||||
|
|
|
@ -801,6 +801,14 @@ as well as handlers registered with @code{atexit}.
|
||||||
If an executable loads a dynamic shared object via dlopen functionality,
|
If an executable loads a dynamic shared object via dlopen functionality,
|
||||||
@option{-Wl,--dynamic-list-data} is needed to dump all profile data.
|
@option{-Wl,--dynamic-list-data} is needed to dump all profile data.
|
||||||
|
|
||||||
|
Profiling run-time library reports various errors related to profile
|
||||||
|
manipulation and profile saving. Errors are printed into standard error output
|
||||||
|
or @samp{GCOV_ERROR_FILE} file, if environment variable is used.
|
||||||
|
In order to terminate immediately after an errors occurs
|
||||||
|
set @samp{GCOV_EXIT_AT_ERROR} environment variable.
|
||||||
|
That can help users to find profile clashing which leads
|
||||||
|
to a misleading profile.
|
||||||
|
|
||||||
@c man end
|
@c man end
|
||||||
|
|
||||||
@node Gcov Data Files
|
@node Gcov Data Files
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
|
2018-05-29 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
|
PR gcov-profile/85759
|
||||||
|
* libgcov-driver-system.c (gcov_error): Introduce usage of
|
||||||
|
GCOV_EXIT_AT_ERROR env. variable.
|
||||||
|
* libgcov-driver.c (merge_one_data): Print error that we
|
||||||
|
overwrite a gcov file with a different timestamp.
|
||||||
|
|
||||||
2018-05-23 Kalamatee <kalamatee@gmail.com>
|
2018-05-23 Kalamatee <kalamatee@gmail.com>
|
||||||
|
|
||||||
* config/m68k/lb1sf68.S (Laddsf$nf): Fix sign bit handling in
|
* config/m68k/lb1sf68.S (Laddsf$nf): Fix sign bit handling in
|
||||||
|
|
|
@ -62,8 +62,16 @@ gcov_error (const char *fmt, ...)
|
||||||
va_list argp;
|
va_list argp;
|
||||||
|
|
||||||
va_start (argp, fmt);
|
va_start (argp, fmt);
|
||||||
ret = vfprintf (get_gcov_error_file (), fmt, argp);
|
FILE *f = get_gcov_error_file ();
|
||||||
|
ret = vfprintf (f, fmt, argp);
|
||||||
va_end (argp);
|
va_end (argp);
|
||||||
|
|
||||||
|
if (getenv ("GCOV_EXIT_AT_ERROR"))
|
||||||
|
{
|
||||||
|
fprintf (f, "profiling:exiting after an error\n");
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -372,8 +372,12 @@ merge_one_data (const char *filename,
|
||||||
|
|
||||||
length = gcov_read_unsigned ();
|
length = gcov_read_unsigned ();
|
||||||
if (length != gi_ptr->stamp)
|
if (length != gi_ptr->stamp)
|
||||||
|
{
|
||||||
/* Read from a different compilation. Overwrite the file. */
|
/* Read from a different compilation. Overwrite the file. */
|
||||||
|
gcov_error ("profiling:%s:overwriting an existing profile data "
|
||||||
|
"with a different timestamp\n", filename);
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Look for program summary. */
|
/* Look for program summary. */
|
||||||
for (f_ix = 0;;)
|
for (f_ix = 0;;)
|
||||||
|
|
Loading…
Reference in New Issue