-extern void __gcov_merge_add (gcov_type *, unsigned);
-
-/* The merge function to choose the most often value. */
-extern void __gcov_merge_single (gcov_type *, unsigned);
+extern void __gcov_merge_add (gcov_type *, unsigned) ATTRIBUTE_HIDDEN;
+
+/* The merge function to choose the most common value. */
+extern void __gcov_merge_single (gcov_type *, unsigned) ATTRIBUTE_HIDDEN;
+
+/* The merge function to choose the most common difference between
+ consecutive values. */
+extern void __gcov_merge_delta (gcov_type *, unsigned) ATTRIBUTE_HIDDEN;
+
+/* The profiler functions. */
+extern void __gcov_interval_profiler (gcov_type *, gcov_type, int, unsigned);
+extern void __gcov_pow2_profiler (gcov_type *, gcov_type);
+extern void __gcov_one_value_profiler (gcov_type *, gcov_type);
+
+#ifndef inhibit_libc
+/* The wrappers around some library functions.. */
+extern pid_t __gcov_fork (void);
+extern int __gcov_execl (const char *, const char *, ...) ATTRIBUTE_HIDDEN;
+extern int __gcov_execlp (const char *, const char *, ...) ATTRIBUTE_HIDDEN;
+extern int __gcov_execle (const char *, const char *, ...) ATTRIBUTE_HIDDEN;
+extern int __gcov_execv (const char *, char *const []) ATTRIBUTE_HIDDEN;
+extern int __gcov_execvp (const char *, char *const []) ATTRIBUTE_HIDDEN;
+extern int __gcov_execve (const char *, char *const [], char *const [])
+ ATTRIBUTE_HIDDEN;
+#endif