aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcov-io.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/gcov-io.h')
-rw-r--r--gcc/gcov-io.h28
1 files changed, 23 insertions, 5 deletions
diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h
index 6976bc3..ce29f67 100644
--- a/gcc/gcov-io.h
+++ b/gcc/gcov-io.h
@@ -216,16 +216,33 @@ struct gcov_summary
gcov_type arc_sum_max; /* sum of max_one */
};
-#if IN_LIBGCC2
/* Structures embedded in coveraged program. The structures generated
by write_profile must match these. */
+/* Information about section of counters for a function. */
+struct counter_section
+{
+ unsigned tag; /* Tag of the section. */
+ unsigned n_counters; /* Number of counters in the section. */
+};
+
+#if IN_LIBGCC2
+/* Information about section of counters for an object file. */
+struct counter_section_data
+{
+ unsigned tag; /* Tag of the section. */
+ unsigned n_counters; /* Number of counters in the section. */
+ gcov_type *counters; /* The data. */
+};
+
/* Information about a single function. */
struct function_info
{
const char *name; /* (mangled) name of function */
unsigned checksum; /* function checksum */
- unsigned n_arc_counts; /* number of instrumented arcs */
+ unsigned n_counter_sections; /* Number of types of counters */
+ const struct counter_section *counter_sections;
+ /* The section descriptions */
};
/* Information about a single object file. */
@@ -237,11 +254,12 @@ struct gcov_info
const char *filename; /* output file name */
long wkspc; /* libgcc workspace */
- const struct function_info *functions; /* table of functions */
unsigned n_functions; /* number of functions */
+ const struct function_info *functions; /* table of functions */
- gcov_type *arc_counts; /* table of arc counts */
- unsigned n_arc_counts; /* number of arc counts */
+ unsigned n_counter_sections; /* Number of types of counters */
+ const struct counter_section_data *counter_sections;
+ /* The data to be put into the sections. */
};
/* Register a new object file module. */