All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
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	[thread overview]
Message-ID: <hkedee$tvt$1@ger.gmane.org> (raw)
In-Reply-To: <201002041504.52626.sheng@linux.intel.com>

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	other threads:[~2010-02-04 12:10 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-04  7:04 [Qemu-devel] "Enable _FORTIFY_SOURCE=2" result in building failure for qemu-img.c Sheng Yang
2010-02-04 12:09 ` Paolo Bonzini [this message]
2010-02-04 12:10 ` Jamie Lokier
2010-02-04 17:52   ` Markus Armbruster
2010-02-04 12:31 ` [Qemu-devel] " Juan Quintela
2010-02-04 13:29   ` [Qemu-devel] [PATCH] qemu-img: avoid preprocessor directives in a printf call Paolo Bonzini
2010-02-04 15:13     ` [Qemu-devel] " Sheng Yang
2010-02-04 15:49       ` [Qemu-devel] [PATCH 0/4] Fix printf calls embedding preprocessor directives Paolo Bonzini
2010-02-05  2:26         ` [Qemu-devel] " Sheng Yang
2010-02-05  8:30           ` Kevin Wolf
2010-02-05  8:47           ` Paolo Bonzini
2010-02-04 15:49       ` [Qemu-devel] [PATCH 1/4] qemu-img: avoid preprocessor directives in a printf call Paolo Bonzini
2010-02-04 15:49       ` [Qemu-devel] [PATCH 2/4] cope with printf macro definition in readline.c Paolo Bonzini
2010-02-04 15:49       ` [Qemu-devel] [PATCH 3/4] do not interpolate % from vl.c to qemu-options.h Paolo Bonzini
2010-02-04 15:49       ` [Qemu-devel] [PATCH 4/4] vl.c: avoid preprocessor directives in a printf call Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='hkedee$tvt$1@ger.gmane.org' \
    --to=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.