On 05/08/2015 11:47 AM, Dimitris Aragiorgis wrote: > Building the QEMU tools fails if we #define DEBUG_BLOCK inside > block/raw-posix.c. Here instead of adding qemu-log.o in block-obj-y > so that DEBUG_BLOCK_PRINT can be used, we substitute the latter with > a simple DPRINTF(). > > Signed-off-by: Dimitris Aragiorgis <dim...@arrikto.com> > --- > block/raw-posix.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/block/raw-posix.c b/block/raw-posix.c > index 24b061f..fbccca8 100644 > --- a/block/raw-posix.c > +++ b/block/raw-posix.c > @@ -97,11 +97,11 @@ > //#define DEBUG_FLOPPY > > //#define DEBUG_BLOCK > -#if defined(DEBUG_BLOCK) > -#define DEBUG_BLOCK_PRINT(formatCstr, ...) do { if (qemu_log_enabled()) \ > - { qemu_log(formatCstr, ## __VA_ARGS__); qemu_log_flush(); } } while (0) > + > +#ifdef DEBUG_BLOCK > +#define DPRINTF(fmt, ...) do { printf(fmt, ## __VA_ARGS__); } while (0) > #else > -#define DEBUG_BLOCK_PRINT(formatCstr, ...) > +#define DPRINTF(fmt, ...) do { } while (0)
Please fix this to ensure that we avoid bit-rot even when debugging is not turned on. Something like: #ifdef DEBUG_BLOCK # define DEBUG_BLOCK_PRINT 1 #else # define DEBUG_BLOCK_PRINT 0 #endif #define DPRINTF(fmt, ...) \ do \ if (DEBUG_BLOCK_PRINT) { \ printf(fmt, ## __VA_ARGS__); \ while (0) that way, the compiler checks that the printf format arguments are valid while still optimizing out the if(0) code. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature