On 1/22/19 10:49 AM, Daniel P. Berrangé wrote: > The '%m' format specifier instructs glibc's printf() implementation to > insert the contents of strerror(errno). Since this is a glibc extension > it should generally be avoided in QEMU due to need for portability to a > variety of platforms.
Up to you if you want to mention that syslog() portably supports %m, but not all trace backends use syslog(). > > Even though vfio is Linux-only code that could otherwise use "%m", it > must still be avoided in trace-events files because several of the > backends do not use the format string and so this error information is > invisible to them. > > The errno string value should be given as an explicit trace argument > instead, making it accessible to all backends. This also allows it to > work correctly with future patches that use the format string with > systemtap's simple printf code. > > Signed-off-by: Daniel P. Berrangé <berra...@redhat.com> > --- > hw/vfio/pci.c | 2 +- > hw/vfio/trace-events | 2 +- > scripts/tracetool/__init__.py | 4 ++++ > 3 files changed, 6 insertions(+), 2 deletions(-) > Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature