+2014-08-01 Nathan Sidwell <nathan@acm.org>
+
+ * Makefile.in (LIBGCOV_MERGE, LIBGCOV_PROFILER,
+ LIBGCOV_INTERFACE): Reformat.
+ * libgcov-driver.c (gcov_exit, __gcov_init): Disable when
+ IN_GCOV_TOOL.
+ * libgcov-interface.c: Reformat some comments.
+ (__gcov_flush_mx): Add declaration. Tidy up definition.
+
2014-07-31 Alan Modra <amodra@gmail.com>
Peter Bergner <bergner@vnet.ibm.com>
# Build libgcov components.
-LIBGCOV_MERGE = _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_merge_ior \
- _gcov_merge_time_profile
-LIBGCOV_PROFILER = _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler \
- _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler \
- _gcov_indirect_call_profiler_v2 _gcov_time_profiler
-LIBGCOV_INTERFACE = _gcov_flush _gcov_fork _gcov_execl _gcov_execlp _gcov_execle \
- _gcov_execv _gcov_execvp _gcov_execve _gcov_reset _gcov_dump
+LIBGCOV_MERGE = _gcov_merge_add _gcov_merge_single _gcov_merge_delta \
+ _gcov_merge_ior _gcov_merge_time_profile
+LIBGCOV_PROFILER = _gcov_interval_profiler _gcov_pow2_profiler \
+ _gcov_one_value_profiler _gcov_indirect_call_profiler \
+ _gcov_average_profiler _gcov_ior_profiler \
+ _gcov_indirect_call_profiler_v2 _gcov_time_profiler
+LIBGCOV_INTERFACE = _gcov_flush _gcov_fork _gcov_execl _gcov_execlp \
+ _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_reset \
+ _gcov_dump
LIBGCOV_DRIVER = _gcov
libgcov-merge-objects = $(patsubst %,%$(objext),$(LIBGCOV_MERGE))
extern void gcov_clear (void) ATTRIBUTE_HIDDEN;
extern void gcov_exit (void) ATTRIBUTE_HIDDEN;
+extern __gthread_mutex_t __gcov_flush_mx ATTRIBUTE_HIDDEN;
#ifdef L_gcov_flush
-
#ifdef __GTHREAD_MUTEX_INIT
-ATTRIBUTE_HIDDEN __gthread_mutex_t __gcov_flush_mx = __GTHREAD_MUTEX_INIT;
+__gthread_mutex_t __gcov_flush_mx = __GTHREAD_MUTEX_INIT;
#define init_mx_once()
#else
-__gthread_mutex_t __gcov_flush_mx ATTRIBUTE_HIDDEN;
+__gthread_mutex_t __gcov_flush_mx;
static void
init_mx (void)
{
__GTHREAD_MUTEX_INIT_FUNCTION (&__gcov_flush_mx);
}
+
static void
init_mx_once (void)
{
#endif
#ifdef L_gcov_execlp
-/* A wrapper for the execlp function. Flushes the accumulated profiling data, so
- that they are not lost. */
+/* A wrapper for the execlp function. Flushes the accumulated
+ profiling data, so that they are not lost. */
int
__gcov_execlp (const char *path, char *arg, ...)
#endif
#ifdef L_gcov_execle
-/* A wrapper for the execle function. Flushes the accumulated profiling data, so
- that they are not lost. */
+/* A wrapper for the execle function. Flushes the accumulated
+ profiling data, so that they are not lost. */
int
__gcov_execle (const char *path, char *arg, ...)
#endif
#ifdef L_gcov_execv
-/* A wrapper for the execv function. Flushes the accumulated profiling data, so
- that they are not lost. */
+/* A wrapper for the execv function. Flushes the accumulated
+ profiling data, so that they are not lost. */
int
__gcov_execv (const char *path, char *const argv[])
#endif
#ifdef L_gcov_execvp
-/* A wrapper for the execvp function. Flushes the accumulated profiling data, so
- that they are not lost. */
+/* A wrapper for the execvp function. Flushes the accumulated
+ profiling data, so that they are not lost. */
int
__gcov_execvp (const char *path, char *const argv[])
#endif
#ifdef L_gcov_execve
-/* A wrapper for the execve function. Flushes the accumulated profiling data, so
- that they are not lost. */
+/* A wrapper for the execve function. Flushes the accumulated
+ profiling data, so that they are not lost. */
int
__gcov_execve (const char *path, char *const argv[], char *const envp[])