Commit bb5307a6 by Martin Liska Committed by Martin Liska

Fix gcov-dump tool for GCDA files (PR gcov-profile/83509).

2017-12-21  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/83509
	* gcov-dump.c (dump_gcov_file): Do not read info about
	support_unexecuted_blocks for gcda files.

From-SVN: r255941
parent 63987ca4
2017-12-21 Martin Liska <mliska@suse.cz>
PR gcov-profile/83509
* gcov-dump.c (dump_gcov_file): Do not read info about
support_unexecuted_blocks for gcda files.
2017-12-21 Jakub Jelinek <jakub@redhat.com> 2017-12-21 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/82973 PR rtl-optimization/82973
...@@ -170,6 +170,7 @@ dump_gcov_file (const char *filename) ...@@ -170,6 +170,7 @@ dump_gcov_file (const char *filename)
{ {
unsigned tags[4]; unsigned tags[4];
unsigned depth = 0; unsigned depth = 0;
bool is_data_type;
if (!gcov_open (filename, 1)) if (!gcov_open (filename, 1))
{ {
...@@ -181,14 +182,13 @@ dump_gcov_file (const char *filename) ...@@ -181,14 +182,13 @@ dump_gcov_file (const char *filename)
{ {
unsigned magic = gcov_read_unsigned (); unsigned magic = gcov_read_unsigned ();
unsigned version; unsigned version;
const char *type = NULL;
int endianness = 0; int endianness = 0;
char m[4], v[4]; char m[4], v[4];
if ((endianness = gcov_magic (magic, GCOV_DATA_MAGIC))) if ((endianness = gcov_magic (magic, GCOV_DATA_MAGIC)))
type = "data"; is_data_type = true;
else if ((endianness = gcov_magic (magic, GCOV_NOTE_MAGIC))) else if ((endianness = gcov_magic (magic, GCOV_NOTE_MAGIC)))
type = "note"; is_data_type = false;
else else
{ {
printf ("%s:not a gcov file\n", filename); printf ("%s:not a gcov file\n", filename);
...@@ -199,7 +199,8 @@ dump_gcov_file (const char *filename) ...@@ -199,7 +199,8 @@ dump_gcov_file (const char *filename)
GCOV_UNSIGNED2STRING (v, version); GCOV_UNSIGNED2STRING (v, version);
GCOV_UNSIGNED2STRING (m, magic); GCOV_UNSIGNED2STRING (m, magic);
printf ("%s:%s:magic `%.4s':version `%.4s'%s\n", filename, type, printf ("%s:%s:magic `%.4s':version `%.4s'%s\n", filename,
is_data_type ? "data" : "note",
m, v, endianness < 0 ? " (swapped endianness)" : ""); m, v, endianness < 0 ? " (swapped endianness)" : "");
if (version != GCOV_VERSION) if (version != GCOV_VERSION)
{ {
...@@ -217,10 +218,13 @@ dump_gcov_file (const char *filename) ...@@ -217,10 +218,13 @@ dump_gcov_file (const char *filename)
printf ("%s:stamp %lu\n", filename, (unsigned long)stamp); printf ("%s:stamp %lu\n", filename, (unsigned long)stamp);
} }
/* Support for unexecuted basic blocks. */ if (!is_data_type)
unsigned support_unexecuted_blocks = gcov_read_unsigned (); {
if (!support_unexecuted_blocks) /* Support for unexecuted basic blocks. */
printf ("%s: has_unexecuted_block is not supported\n", filename); unsigned support_unexecuted_blocks = gcov_read_unsigned ();
if (!support_unexecuted_blocks)
printf ("%s: has_unexecuted_block is not supported\n", filename);
}
while (1) while (1)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment