Summary of v2 changes:
* Removed backwards-compatibility code for non-strace log statements.
* Removed new qemu_log interface for adding or removing fields from
the log mask.
* Removed LOG_USER and converted all uses (except one) to LOG_UNIMP.
* One gemu_log statement was converted to an assert.
* Some style cleanup.
The linux-user and bsd-user trees both widely use a function called
`gemu_log` (notice the 'g') for miscellaneous and strace logging. This
function predates the newer `qemu_log` function, and has a few drawbacks
compared to `qemu_log`:
1. Always logs to `stderr`, no logging redirection.
2. "Miscellaneous" logging cannot be disabled, so it may mix with guest
logging.
3. Inconsistency with other parts of the QEMU codebase, and a
confusing name.
The second issue is especially troubling because it can interfere with
programs that expect to communicate via stderr.
This change introduces one new logging masks to the `qemu_log` subsystem
to support its use for user-mode logging: the `LOG_STRACE` mask for
strace-specific logging. Further, it replaces all existing uses of
`gemu_log` with the appropriate `qemu_log_mask(LOG_{UNIMP,STRACE}, ...)`
based on the log message.
Backwards incompatibility:
* Log messages for unimplemented user-mode features are no longer
logged by default. They have to be enabled by setting the LOG_UNIMP
mask.
* Log messages for strace/unimplemented user-mode features may be
redirected based on `-D`, instead of always logging to stderr.
Tested:
* Built with clang 9 and g++ 8.3
* `make check` run with clang 9 build
* Verified:
* QEMU_STRACE/-strace still works for linux-user
* `make vm-build-netbsd EXTRA_CONFIGURE_OPTS="--disable-system"`
passed.
Not tested:
* Build/logging with bsd-user. I do not have easy access to a BSD system.
Josh Kunz (4):
linux-user: Use `qemu_log' for non-strace logging
linux-user: Use `qemu_log' for strace
linux-user: remove gemu_log from the linux-user tree
bsd-user: Replace gemu_log with qemu_log
bsd-user/main.c | 13 +-
bsd-user/qemu.h | 2 -
bsd-user/strace.c | 32 ++-
bsd-user/syscall.c | 31 ++-
include/qemu/log.h | 2 +
linux-user/arm/cpu_loop.c | 5 +-
linux-user/fd-trans.c | 55 +++--
linux-user/main.c | 39 ++--
linux-user/qemu.h | 2 -
linux-user/signal.c | 2 +-
linux-user/strace.c | 479 +++++++++++++++++++-------------------
linux-user/syscall.c | 68 +++---
linux-user/vm86.c | 3 +-
util/log.c | 2 +
14 files changed, 383 insertions(+), 352 deletions(-)
--
2.25.0.341.g760bfbb309-goog