All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sheng Yang <sheng@linux.intel.com>
To: qemu-devel@nongnu.org
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>,
	Anthony Liguori <aliguori@us.ibm.com>,
	Juan Quintela <quintela@redhat.com>
Subject: [Qemu-devel] "Enable _FORTIFY_SOURCE=2" result in building failure for qemu-img.c
Date: Thu, 4 Feb 2010 15:04:52 +0800	[thread overview]
Message-ID: <201002041504.52626.sheng@linux.intel.com> (raw)

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...

So any clue on what's happened and how to fix?

GCC version is 4.1.2.

-- 
regards
Yang, Sheng

             reply	other threads:[~2010-02-04  7:06 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-04  7:04 Sheng Yang [this message]
2010-02-04 12:09 ` [Qemu-devel] Re: "Enable _FORTIFY_SOURCE=2" result in building failure for qemu-img.c Paolo Bonzini
2010-02-04 12:10 ` [Qemu-devel] " 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=201002041504.52626.sheng@linux.intel.com \
    --to=sheng@linux.intel.com \
    --cc=aliguori@us.ibm.com \
    --cc=kirill@shutemov.name \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /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.