summaryrefslogtreecommitdiff
path: root/futility/futility.c
diff options
context:
space:
mode:
Diffstat (limited to 'futility/futility.c')
-rw-r--r--futility/futility.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/futility/futility.c b/futility/futility.c
index 52c2d7dd..59145c3a 100644
--- a/futility/futility.c
+++ b/futility/futility.c
@@ -200,6 +200,10 @@ static void log_args(int argc, char *argv[])
/******************************************************************************/
/* Here we go */
+#ifdef COVERAGE
+void __gcov_flush(void);
+#endif
+
int main(int argc, char *argv[], char *envp[])
{
char *progname;
@@ -278,6 +282,10 @@ int main(int argc, char *argv[], char *envp[])
}
fflush(0);
+#ifdef COVERAGE
+ /* Write gcov data prior to exec. */
+ __gcov_flush();
+#endif
execve(oldname, argv, envp);
fprintf(stderr, "%s failed to exec %s: %s\n", MYNAME,