diff options
author | Martin Liska <mliska@suse.cz> | 2017-12-21 15:22:08 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2017-12-21 14:22:08 +0000 |
commit | bb5307a6aecb937079339bccba5608924b7ab634 (patch) | |
tree | 497e6e853be592694c5487c206a33a7adb55d84f /gcc/gcov-dump.c | |
parent | 63987ca445d31c4489f09881e3ff007294896ea2 (diff) | |
download | gcc-bb5307a6aecb937079339bccba5608924b7ab634.zip gcc-bb5307a6aecb937079339bccba5608924b7ab634.tar.gz gcc-bb5307a6aecb937079339bccba5608924b7ab634.tar.bz2 |
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
Diffstat (limited to 'gcc/gcov-dump.c')
-rw-r--r-- | gcc/gcov-dump.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/gcc/gcov-dump.c b/gcc/gcov-dump.c index e5e649c..7dc28bb 100644 --- a/gcc/gcov-dump.c +++ b/gcc/gcov-dump.c @@ -170,6 +170,7 @@ dump_gcov_file (const char *filename) { unsigned tags[4]; unsigned depth = 0; + bool is_data_type; if (!gcov_open (filename, 1)) { @@ -181,14 +182,13 @@ dump_gcov_file (const char *filename) { unsigned magic = gcov_read_unsigned (); unsigned version; - const char *type = NULL; int endianness = 0; char m[4], v[4]; if ((endianness = gcov_magic (magic, GCOV_DATA_MAGIC))) - type = "data"; + is_data_type = true; else if ((endianness = gcov_magic (magic, GCOV_NOTE_MAGIC))) - type = "note"; + is_data_type = false; else { printf ("%s:not a gcov file\n", filename); @@ -199,7 +199,8 @@ dump_gcov_file (const char *filename) GCOV_UNSIGNED2STRING (v, version); 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)" : ""); if (version != GCOV_VERSION) { @@ -217,10 +218,13 @@ dump_gcov_file (const char *filename) printf ("%s:stamp %lu\n", filename, (unsigned long)stamp); } - /* Support for unexecuted basic blocks. */ - unsigned support_unexecuted_blocks = gcov_read_unsigned (); - if (!support_unexecuted_blocks) - printf ("%s: has_unexecuted_block is not supported\n", filename); + if (!is_data_type) + { + /* Support for unexecuted basic blocks. */ + unsigned support_unexecuted_blocks = gcov_read_unsigned (); + if (!support_unexecuted_blocks) + printf ("%s: has_unexecuted_block is not supported\n", filename); + } while (1) { |