aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2020-02-25 12:47:00 +0000
committerAlex Bennée <alex.bennee@linaro.org>2020-02-25 20:20:23 +0000
commit3d88754e2b096ace0f9c2e86dbbb84de4290d421 (patch)
tree272985bb2524d64d5af3683538423e06d0b7d7ef
parent002375895c10df40615fc615e2639f49e0c442fe (diff)
tracing: only allow -trace to override -D if set
Otherwise any -D settings the user may have made get ignored. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Robert Foley <robert.foley@linaro.org> Message-Id: <20200225124710.14152-10-alex.bennee@linaro.org>
-rw-r--r--trace/control.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/trace/control.c b/trace/control.c
index 6c775e68eb..2ffe000818 100644
--- a/trace/control.c
+++ b/trace/control.c
@@ -226,10 +226,15 @@ void trace_init_file(const char *file)
#ifdef CONFIG_TRACE_SIMPLE
st_set_trace_file(file);
#elif defined CONFIG_TRACE_LOG
- /* If both the simple and the log backends are enabled, "--trace file"
- * only applies to the simple backend; use "-D" for the log backend.
+ /*
+ * If both the simple and the log backends are enabled, "--trace file"
+ * only applies to the simple backend; use "-D" for the log
+ * backend. However we should only override -D if we actually have
+ * something to override it with.
*/
- qemu_set_log_filename(file, &error_fatal);
+ if (file) {
+ qemu_set_log_filename(file, &error_fatal);
+ }
#else
if (file) {
fprintf(stderr, "error: --trace file=...: "