qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: "Enable _FORTIFY_SOURCE=2" result in building failure f


From: Paolo Bonzini
Subject: [Qemu-devel] Re: "Enable _FORTIFY_SOURCE=2" result in building failure for qemu-img.c
Date: Thu, 04 Feb 2010 13:09:51 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.7) Gecko/20100120 Fedora/3.0.1-1.fc12 Lightning/1.0b2pre Thunderbird/3.0.1

On 02/04/2010 08:04 AM, Sheng Yang wrote:
Got this building failure:

In file included from qemu-img.c:68:
qemu-img-cmds.h:22:1: error: unterminated argument list invoking macro
"printf"
cc1: warnings being treated as errors
qemu-img.c: In function ‘help’:
qemu-img.c:95: warning: statement with no effect
qemu-img.c:71: error: expected ‘;’ before string constant
qemu-img.c:95: error: expected statement before ‘)’ token
make: *** [qemu-img.o] Error 1

And git bisect figure out the commit: 84958305, "Enable _FORTIFY_SOURCE=2".

And the code is here:

     printf("qemu-img version " QEMU_VERSION ", Copyright (c) 2004-2008 Fabrice
Bellard\n"
            "usage: qemu-img command [command options]\n"
            "QEMU disk image utility\n"
            "\n"
            "Command syntax:\n"
#define DEF(option, callback, arg_string)        \
            "  " arg_string "\n"
#include "qemu-img-cmds.h"
#undef DEF
#undef GEN_DOCS
....

Seems gcc take "printf" as a marco. I added a "#undef printf" before the line,
then it works...

It's glibc, not gcc.

I suggest moving the help message into a variable and changing the printf to "fputs (help_msg, stdout);". Would you make a patch?

Paolo





reply via email to

[Prev in Thread] Current Thread [Next in Thread]