summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/gcov-tool.c5
-rw-r--r--libgcc/ChangeLog6
-rw-r--r--libgcc/libgcov-driver.c14
-rw-r--r--libgcc/libgcov.h5
5 files changed, 21 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 20eda93e750..00b4cf16592 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2014-07-23 Nathan Sidwell <nathan@acm.org>
+
+ * gcov-tool.c (gcov_list): Declare here.
+ (set_gcov_list): Remove.
+ (gcov_output_files): Set gcov_list directly.
+
2014-07-23 Host Schirmeier <horst@schirmeier.com>
* doc/invoke.texi: -O3 enables -ftree-loop-distribute-patterns.
diff --git a/gcc/gcov-tool.c b/gcc/gcov-tool.c
index 71331cab9d1..07b7bfa451d 100644
--- a/gcc/gcov-tool.c
+++ b/gcc/gcov-tool.c
@@ -38,12 +38,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <ftw.h>
#include <getopt.h>
+extern struct gcov_info *gcov_list;
+
extern int gcov_profile_merge (struct gcov_info*, struct gcov_info*, int, int);
extern int gcov_profile_normalize (struct gcov_info*, gcov_type);
extern int gcov_profile_scale (struct gcov_info*, float, int, int);
extern struct gcov_info* gcov_read_profile_dir (const char*, int);
extern void gcov_exit (void);
-extern void set_gcov_list (struct gcov_info *);
extern void gcov_set_verbose (void);
/* Set to verbose output mode. */
@@ -109,7 +110,7 @@ gcov_output_files (const char *out, struct gcov_info *profile)
if (ret)
fatal_error ("Cannot change directory to %s", out);
- set_gcov_list (profile);
+ gcov_list = profile;
gcov_exit ();
ret = chdir (pwd);
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index b659f803a8e..c00e6f92dc4 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,9 @@
+2014-07-23 Nathan Sidwell <nathan@acm.org>
+
+ * libgcov-driver.c (set_gcov_list): Remove.
+ (gcov_list): Make non-static in GCOV_TOOL.
+ * libgcov.h (GCOV_TOOL_LINKAGE): Remove unused #define.
+
2014-07-17 John David Anglin <danglin@gcc.gnu.org>
* config/pa/linux-atomic.c (__sync_lock_release_4): New.
diff --git a/libgcc/libgcov-driver.c b/libgcc/libgcov-driver.c
index 529f4de83bd..cf38f527344 100644
--- a/libgcc/libgcov-driver.c
+++ b/libgcc/libgcov-driver.c
@@ -54,7 +54,6 @@ extern void gcov_exit (void) ATTRIBUTE_HIDDEN;
extern void set_gcov_dump_complete (void) ATTRIBUTE_HIDDEN;
extern void reset_gcov_dump_complete (void) ATTRIBUTE_HIDDEN;
extern int get_gcov_dump_complete (void) ATTRIBUTE_HIDDEN;
-extern void set_gcov_list (struct gcov_info *) ATTRIBUTE_HIDDEN;
struct gcov_fn_buffer
{
@@ -71,14 +70,11 @@ struct gcov_summary_buffer
};
/* Chain of per-object gcov structures. */
-static struct gcov_info *gcov_list;
-
-/* Set the head of gcov_list. */
-void
-set_gcov_list (struct gcov_info *head)
-{
- gcov_list = head;
-}
+#ifndef IN_GCOV_TOOL
+/* We need to expose this static variable when compiling for gcov-tool. */
+static
+#endif
+struct gcov_info *gcov_list;
/* Size of the longest file name. */
/* We need to expose this static variable when compiling for gcov-tool. */
diff --git a/libgcc/libgcov.h b/libgcc/libgcov.h
index 781d1f4254f..23ee71c727a 100644
--- a/libgcc/libgcov.h
+++ b/libgcc/libgcov.h
@@ -111,12 +111,9 @@ typedef unsigned gcov_position_t;
#define L_gcov_merge_ior 1
#define L_gcov_merge_time_profile 1
-/* Make certian internal functions/variables in libgcov available for
- gcov-tool access. */
-#define GCOV_TOOL_LINKAGE
-
extern gcov_type gcov_read_counter_mem ();
extern unsigned gcov_get_merge_weight ();
+extern struct gcov_info *gcov_list;
#endif /* !IN_GCOV_TOOL */