mirror of
https://github.com/qemu/qemu.git
synced 2025-07-29 14:43:25 +00:00
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 <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
parent
708b6a643c
commit
7781afb49c
@ -19,10 +19,17 @@
|
|||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "qemu.h"
|
#include "qemu.h"
|
||||||
|
|
||||||
|
#ifdef CONFIG_GCOV
|
||||||
|
extern void __gcov_dump(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
void preexit_cleanup(CPUArchState *env, int code)
|
void preexit_cleanup(CPUArchState *env, int code)
|
||||||
{
|
{
|
||||||
#ifdef TARGET_GPROF
|
#ifdef TARGET_GPROF
|
||||||
_mcleanup();
|
_mcleanup();
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_GCOV
|
||||||
|
__gcov_dump();
|
||||||
#endif
|
#endif
|
||||||
gdb_exit(env, code);
|
gdb_exit(env, code);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user