From: Alex Bennée Date: Fri, 22 Jun 2018 16:23:44 +0000 (+0100) Subject: linux-user: add gcov support to preexit_cleanup X-Git-Tag: qemu-xen-4.12.0-rc1~94^2~9 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=7781afb49cdcc41b5cd06d4daa53aa1bc45f95ac;p=qemu-xen.git linux-user: add gcov support to preexit_cleanup As we don't always take the normal exit path when running a guest we can skip the normal exit destructors where gcov normally dumps it's info. The GCC manual suggests long running programs use __gcov_dump() to flush out the coverage state periodically so we use that here. Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé --- diff --git a/linux-user/exit.c b/linux-user/exit.c index aed8713fae..14e94e28fa 100644 --- a/linux-user/exit.c +++ b/linux-user/exit.c @@ -19,10 +19,17 @@ #include "qemu/osdep.h" #include "qemu.h" +#ifdef CONFIG_GCOV +extern void __gcov_dump(void); +#endif + void preexit_cleanup(CPUArchState *env, int code) { #ifdef TARGET_GPROF _mcleanup(); +#endif +#ifdef CONFIG_GCOV + __gcov_dump(); #endif gdb_exit(env, code); }