On Tue, Jul 12, 2022 at 3:36 AM <marcandre.lureau@redhat.com> wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> Remove the direct dependency from error-report to monitor code.
> This will allow to move error-report to a subproject.
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
> include/qemu/error-report.h | 2 ++
> softmmu/vl.c | 5 +++++
> stubs/error-is-detailed.c | 7 +++++++
> util/error-report.c | 3 +--
> stubs/meson.build | 1 +
> 5 files changed, 16 insertions(+), 2 deletions(-)
> create mode 100644 stubs/error-is-detailed.c
>
Reviewed-by: Warner Losh <imp@bsdimp.com>
> diff --git a/include/qemu/error-report.h b/include/qemu/error-report.h
> index 3ae2357fda54..6ab25d458350 100644
> --- a/include/qemu/error-report.h
> +++ b/include/qemu/error-report.h
> @@ -30,6 +30,8 @@ void loc_set_none(void);
> void loc_set_cmdline(char **argv, int idx, int cnt);
> void loc_set_file(const char *fname, int lno);
>
> +bool error_is_detailed(void);
> +
> int error_vprintf(const char *fmt, va_list ap) G_GNUC_PRINTF(1, 0);
> int error_printf(const char *fmt, ...) G_GNUC_PRINTF(1, 2);
>
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index 3f264d4b0930..f94efc56e9d6 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -2589,6 +2589,11 @@ void qmp_x_exit_preconfig(Error **errp)
> }
> }
>
> +bool error_is_detailed(void)
> +{
> + return !monitor_cur();
> +}
> +
> void qemu_init(int argc, char **argv, char **envp)
> {
> QemuOpts *opts;
> diff --git a/stubs/error-is-detailed.c b/stubs/error-is-detailed.c
> new file mode 100644
> index 000000000000..c47cd236932f
> --- /dev/null
> +++ b/stubs/error-is-detailed.c
> @@ -0,0 +1,7 @@
> +#include "qemu/osdep.h"
> +#include "qemu/error-report.h"
> +
> +bool error_is_detailed(void)
> +{
> + return TRUE;
> +}
> diff --git a/util/error-report.c b/util/error-report.c
> index c43227a975e2..4d1d66fc0650 100644
> --- a/util/error-report.c
> +++ b/util/error-report.c
> @@ -11,7 +11,6 @@
> */
>
> #include "qemu/osdep.h"
> -#include "monitor/monitor.h"
> #include "qemu/error-report.h"
>
> /*
> @@ -195,7 +194,7 @@ real_time_iso8601(void)
> */
> static void vreport(report_type type, const char *fmt, va_list ap)
> {
> - bool detailed = !monitor_cur();
> + bool detailed = error_is_detailed();
> gchar *timestr;
>
> if (message_with_timestamp && detailed) {
> diff --git a/stubs/meson.build b/stubs/meson.build
> index d8f3fd5c44f2..0f3a782824f9 100644
> --- a/stubs/meson.build
> +++ b/stubs/meson.build
> @@ -9,6 +9,7 @@ stub_ss.add(files('cpus-get-virtual-clock.c'))
> stub_ss.add(files('qemu-timer-notify-cb.c'))
> stub_ss.add(files('icount.c'))
> stub_ss.add(files('dump.c'))
> +stub_ss.add(files('error-is-detailed.c'))
> stub_ss.add(files('error-printf.c'))
> stub_ss.add(files('fdset.c'))
> stub_ss.add(files('gdbstub.c'))
> --
> 2.37.0.rc0
>
>